CVEReports
CVEReports

Automated vulnerability intelligence platform. Comprehensive reports for high-severity CVEs generated by AI.

Product

  • Home
  • Sitemap
  • RSS Feed

Company

  • About
  • Contact
  • Privacy Policy
  • Terms of Service

© 2026 CVEReports. All rights reserved.

Made with love by Amit Schendel & Alon Barad



CVE-2026-92905

CVE-2026-92905: Denial of Service in Zoho ManageEngine EventLog Analyzer and Log360 Log Collector

Alon Barad
Alon Barad
Software Engineer

Sep 29, 2026·5 min read·22 visits

Executive Summary (TL;DR)

Unauthenticated remote attackers can crash the ManageEngine log collector service by sending crafted, malformed syslog datagrams to the syslog listener port.

ZohoCorp ManageEngine EventLog Analyzer and Log360 before build 13071 were vulnerable to a denial-of-service (DoS) vulnerability that allowed unauthenticated remote attackers to crash the log collector service using malformed syslog packets.

Vulnerability Overview

Zoho ManageEngine EventLog Analyzer and Log360 contain a denial-of-service vulnerability in their log collector components. This component functions as a centralized syslog server that processes network logs from various enterprise assets. It listens on standard UDP and TCP ports to receive logging information in real time.

The vulnerability is exposed to the local or external network depending on how the syslog daemon is configured. Any unauthenticated network client capable of routing traffic to the syslog port can reach this parser. This wide attack surface makes the service highly susceptible to disruptions from internal or external sources.

Because the service handles raw, unstructured network input, robust validation at the packet boundary is required. The lack of proper exception handling within this boundary allows an attacker to terminate the daemon process entirely. This disrupts log aggregation capabilities across the enterprise.

Root Cause Analysis

The vulnerability stems from a failure to handle parsing exceptions within the syslog receiver thread pool. When a syslog packet arrives on UDP or TCP port 514, the log collector allocates a thread to process the payload. This thread attempts to parse the payload according to standard specifications like RFC 3164 or RFC 5424.

During parsing, the engine tokenizes fields such as the priority value, timestamp, hostname, and message body. If the incoming payload is malformed—such as containing non-ASCII characters in header fields, negative length values, or truncated frames—the parser generates a runtime exception. In Java, this typically manifests as an IndexOutOfBoundsException or NullPointerException during string tokenization.

Because there is no try-catch block wrapping this parsing logic, the runtime exception propagates up the call stack. The uncaught exception terminates the worker thread and, in this specific architecture, bubbles up to the main application context. The JVM then terminates the log collector service, resulting in a complete denial of service.

Code-Level Mechanics

To understand the vulnerability, consider the structure of the packet ingestion loop before build 13071. The application reads datagrams from the network socket and passes the raw bytes directly to the parser class without boundary checks. The following pseudo-code illustrates this unsafe architecture:

// Vulnerable Code Pattern
public void processPacket(byte[] data) {
    // No validation of packet structure before parsing
    SyslogParser parser = new SyslogParser();
    SyslogMessage msg = parser.parseRawBytes(data);
    // If parseRawBytes throws a RuntimeException, the thread terminates
    this.dbWriter.write(msg);
}

In the patched version (Build 13071), Zoho Corp implemented robust error boundaries around the parsing operations. The execution flow is wrapped in a try-catch block that specifically handles all runtime exceptions. This prevents the exception from propagating to the parent process and ensures the thread pool remains active:

// Patched Code Pattern in Build 13071
public void processPacket(byte[] data) {
    try {
        if (data == null || data.length < MIN_SYSLOG_LEN) {
            return; // Quick discard of trivial payloads
        }
        SyslogParser parser = new SyslogParser();
        SyslogMessage msg = parser.parseRawBytes(data);
        this.dbWriter.write(msg);
    } catch (RuntimeException e) {
        // Exception is caught locally, preventing service termination
        Logger.error("Failed to parse syslog packet: " + e.getMessage());
    }
}

This structural change isolates the parsing logic of individual packets. A malformed datagram will now only trigger a logged warning and a silent discard of the corrupted input. The main service process continues executing, maintaining availability for all other legitimate log sources.

Exploitation Methodology

Exploitation of CVE-2026-92905 does not require authentication or complex session establishment. An attacker with network access to the syslog listener port can deliver a single malformed packet to trigger the crash. The attack is entirely self-contained within the initial datagram, requiring no multi-stage interaction.

The exploit payload is structured to violate the formatting rules expected by the parser. For example, sending a sequence of control characters or an invalid facility/severity header sequence triggers the exception. Since the listener is often run over UDP, the attacker can spoof the source IP address, complicating attribution and defensive filtering.

The following diagram illustrates the sequence of events during a successful denial-of-service attack:

Once the service enters the crashed state, it ceases to listen on the designated ports. Syslog packets transmitted by other network infrastructure components are dropped. The denial of service persists until an administrator manually restarts the service or the system executes an automated recovery policy.

Technical Mitigation and Remediation

The primary remediation for CVE-2026-92905 is updating the affected products to Build 13071 or later. Zoho Corp has released consolidated service packs that apply the necessary code modifications to the log collector. Administrators should download these packs from official vendor repositories and schedule an immediate update window.

When patching is delayed, organizations must implement compensating controls at the network layer. Firewalls must restrict access to the syslog listener ports (UDP and TCP 514) to a strict whitelist of known logging sources. This prevents unauthorized network actors from interacting with the vulnerable parsing engine.

Additionally, service recovery options within the operating system should be configured to automatically restart the service. While this does not prevent the exploitation attempt, it reduces the duration of the resulting outage. Administrators can configure Windows Service Manager to restart the service immediately after a failure is detected.

Technical Appendix

CVSS Score
5.3/ 10
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L

Affected Systems

Zoho ManageEngine EventLog AnalyzerZoho ManageEngine Log360

Affected Versions Detail

Product
Affected Versions
Fixed Version
ManageEngine EventLog Analyzer
Zoho Corp
< Build 13071Build 13071
ManageEngine Log360
Zoho Corp
< Build 13071Build 13071
AttributeDetail
CWE IDCWE-248 (Uncaught Exception)
Attack VectorNetwork
CVSS v3.1 Score5.3 (Medium)
ImpactDenial of Service (Availability)
Exploit StatusNo public PoC
KEV StatusNot Listed

MITRE ATT&CK Mapping

T1499.004Endpoint Denial of Service: Application Exhaustion
Impact
CWE-248
Uncaught Exception

References & Sources

  • [1]https://www.manageengine.com/log-management/advisory/CVE-2026-92905.html
  • [2]https://nvd.nist.gov/vuln/detail/CVE-2026-92905

Attack Flow Diagram

Press enter or space to select a node. You can then use the arrow keys to move the node around. Press delete to remove it and escape to cancel.
Press enter or space to select an edge. You can then press delete to remove it or escape to cancel.

More Reports

•about 1 hour ago•CVE-2026-126079
6.1

CVE-2026-126079: Cross-Site Scripting in Ruby on Rails Action View Text Helpers via HTML5 Serialization Desynchronization

A Cross-Site Scripting (XSS) vulnerability exists in Ruby on Rails Action View prior to versions 8.0.5.2 and 8.1.4.1. When applications use the default HTML5 sanitizer (Rails::HTML5::Sanitizer) with Nokogiri versions prior to 1.19.5, angle brackets (< and >) inside HTML attribute values are serialized unescaped. Action View text helpers—specifically highlight and simple_format—perform string-based manipulations on the sanitized HTML rather than operating on the DOM tree. An unescaped '>' character or a double newline ('\n\n') inside an attribute value causes these helpers to misidentify tag or paragraph boundaries, breaking out of the attribute context and emitting inert attribute contents as live HTML elements in the final html_safe output.

Amit Schendel
Amit Schendel
1 views•10 min read
•about 2 hours ago•CVE-2026-126070
6.1

CVE-2026-126070: Cross-Site Scripting in Ruby on Rails Action View strip_tags Helper

CVE-2026-126070 is a Cross-Site Scripting (XSS) vulnerability in the Action View component of Ruby on Rails. Prior to versions 8.0.5.2 and 8.1.4.1, the strip_tags helper returned sanitized output marked as html_safe without encoding single or double quotation marks. When applications render the output of strip_tags inside quoted HTML attributes in ERB templates, attackers can break out of the attribute context and inject arbitrary HTML attributes or JavaScript event handlers.

Amit Schendel
Amit Schendel
3 views•10 min read
•about 3 hours ago•CVE-2026-126078
6.1

CVE-2026-126078: Cross-Site Scripting in Ruby on Rails Action View highlight Helper

CVE-2026-126078 is a Cross-Site Scripting (XSS) vulnerability classified under CWE-79 affecting the Action View component of Ruby on Rails in versions prior to 8.0.5.2 and 8.1.4.1. The vulnerability resides in the ActionView::Helpers::TextHelper#highlight method when invoked with a custom :highlighter template that places capture group placeholders inside HTML attribute values. Because matched substrings are substituted without HTML escaping after initial sanitization preserves literal quotation marks, an attacker controlling the input text or target search phrase can break out of the surrounding attribute delimiter and inject arbitrary HTML attributes or JavaScript event handlers.

Amit Schendel
Amit Schendel
3 views•9 min read
•about 4 hours ago•CVE-2026-126077
6.8

CVE-2026-126077: Session Information Leak in Ruby on Rails Action Pack and Active Storage Proxy Mode

An information exposure vulnerability in Ruby on Rails Action Pack allows sensitive session cookies to be attached to public, cacheable responses served by Active Storage proxy controllers. When cookie secret rotation or a hybrid cookie serializer migration is enabled, reading a legacy-format cookie triggers an automatic cookie rewrite that ignores the session-skipping directive. If an intermediate shared cache or CDN caches the resulting response along with its Set-Cookie header, subsequent users requesting the same URL receive the leaked session token.

Amit Schendel
Amit Schendel
3 views•11 min read
•about 5 hours ago•CVE-2026-126072
5.9

CVE-2026-126072: Thread Deadlock and Denial of Service in Ruby on Rails ActionController::Live

CVE-2026-126072 (GHSA-rwvh-fw6r-pwvp) is a concurrency deadlock vulnerability in the Ruby on Rails Action Pack framework affecting applications that utilize ActionController::Live response streaming. The defect occurs due to improper synchronization within ActionController::Live::Buffer when handling full bounded queues during stream closure and connection abortion. An unauthenticated remote attacker can trigger this condition by stalling TCP socket reads on streaming endpoints—including Active Storage proxy mode—resulting in permanent worker thread exhaustion and application-wide denial of service.

Amit Schendel
Amit Schendel
3 views•10 min read
•about 6 hours ago•CVE-2026-126192
6.3

CVE-2026-126192: Quadratic Algorithmic Complexity Denial of Service in Soup Sieve CSS Selector Engine

CVE-2026-126192 is an algorithmic complexity vulnerability in Soup Sieve (soupsieve), the default CSS selector engine for Beautiful Soup 4 in Python. Evaluating a CSS selector that contains a general sibling combinator (~) nested inside a :has() relational pseudo-class against attacker-controlled HTML markup triggers O(n^2) quadratic evaluation complexity when the right-hand sibling target is absent. An unauthenticated attacker can supply small HTML documents containing thousands of sibling elements to exhaust CPU resources and stall application worker threads.

Alon Barad
Alon Barad
2 views•10 min read