Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessOpen authenticated client session to ZooKeeper
-
DeliveryCraft small multiRead bundling many reads of one large znode
-
ExploitServer fully materializes and retains each result in heap
-
ExecutionCumulative response exhausts JVM heap
-
ImpactServer terminates with OutOfMemoryError (denial of service)
Vulnerability Assessment
| Exploitation Conditions | Exploitation requires an authenticated client session to the ZooKeeper ensemble (CVSS PR:L) and the existence of at least one sizable znode that can be referenced repeatedly. The specific trigger is a multiRead request that bundles many bundled read operations - or many references to a large znode - because the multiRead handler imposes no limit on the operation count or on the cumulative in-memory response size, and each result is fully materialized and retained before serialization. The request itself stays small on the wire and within the jute.maxbuffer limit, so neither jute.maxbuffer nor largeRequestMaxBytes limits exploitation (both bound only the inbound request, not the response). Limiting factors: a valid client connection is needed, impact is availability-only (server crash), and ZooKeeper is typically deployed on internal/trusted networks rather than exposed externally. |
| Impact | The vendor-supplied CVSS 4.0 vector (7.1, high: AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:N/VA:H) frames this as a network-reachable, low-complexity, availability-only flaw requiring low privileges (PR:L) - i.e. an authenticated client connection rather than an anonymous one. The impact is confined to availability (VA:H); there is no confidentiality or integrity exposure. The vuln.today decision label is 'awaiting_data', and no EPSS probability, CISA KEV listing, or POC is present in the input, so there is no public exploit identified at time of analysis and no evidence of active exploitation. These signals are internally consistent rather than conflicting: a high base score driven purely by a crash-the-server effect, with no exploitation telemetry to elevate it. The realistic priority is moderate-but-notable: a single small, standards-compliant request can terminate the JVM with OutOfMemoryError, and because ZooKeeper is a coordination kernel underpinning systems like Kafka, Hadoop, and HBase, a crash can cascade into dependent clusters. Mitigating factors are that exploitation requires an authenticated client session and that ZooKeeper ensembles are usually deployed on internal/trusted networks rather than exposed to the internet. Note that the standard jute.maxbuffer and largeRequestMaxBytes controls do NOT bound this, since they limit only the inbound request, not the server-built response. |
| Exploit ScenarioDerived | An attacker able to open an authenticated client session to the ZooKeeper ensemble sends a single small multiRead request that bundles many read operations all referencing the same large znode. Because each result is fully materialized and retained in heap before serialization, the response balloons far beyond the on-the-wire request size, exhausting the JVM heap and crashing the server with OutOfMemoryError. No public exploit was identified at time of analysis; the attack is low-complexity (AC:L) and network-reachable (AV:N) but requires a valid client connection. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Nov 03, 2026
Denial of service in Apache ZooKeeper 3.7.0 through 3.9.6 lets an authenticated remote client crash a server with a single small multiRead request that forces the JVM to allocate a much larger in-memory response, ending in OutOfMemoryError. The flaw is rated high severity (vendor CVSS 4.0 7.1; assessed CVSS 3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H), is availability-only, and requires a valid client session plus a sizable znode that can be referenced repeatedly. No public exploit code or CISA KEV entry was identified at time of analysis.
RemediationAI
Vendor-released patch: Apache ZooKeeper 3.9.7, which enforces configurable limits on the multiRead operation count and cumulative response size; users on the affected 3.7.x, 3.8.x, and 3.9.x lines should upgrade to 3.9.7 per the advisory (https://zookeeper.apache.org/). No complete non-upgrade workaround is documented in the supplied sources. Because exploitation requires an authenticated client session (assessed PR:L), restricting ZooKeeper client-port access to trusted clients is a compensating measure, with the trade-off that it may block legitimate clients; jute.maxbuffer and largeRequestMaxBytes do not mitigate this issue because they bound only the inbound request, not the response.
Affected ProductsAI
Apache ZooKeeper is affected in the vendor-listed ranges 3.9.0 through 3.9.6 and 3.8.0 through 3.8.7; the CVE description additionally states the issue affects 3.7.0 through 3.9.6. The vendor recommends upgrading to 3.9.7, which adds configurable limits on the multiRead operation count and cumulative response size. No CPE strings were supplied in the input. Vendor advisory: https://zookeeper.apache.org/ ; oss-security advisory: https://seclists.org/oss-sec/2026/q4/487 ; CVE record: https://www.cve.org/CVERecord?id=CVE-2026-100302.
Affects your stack
Find out whether the stacks and servers you run are on an affected version.
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Apache ZooKeeper's multiRead request handler bundles multiple read operations into a single request. The handler places no limit on the number of bundled read operations or on the cumulative size of the response it builds in memory, and each operation's result is fully materialized and retained before serialization. A client can therefore send a request that is small on the wire and within the jute.maxbuffer limit but references a large znode many times, causing heap allocation far beyond what the request size implies and eventually terminating the server with an OutOfMemoryError. Neither jute.maxbuffer nor largeRequestMaxBytes prevents this because both bound only the inbound request, not the response. The issue maps to CWE-770 (Allocation of Resources Without Limits or Throttling). The assessed vector is network-reachable, low complexity, requires low privileges (PR:L, an authenticated client session), no user interaction, and affects availability only; ZooKeeper is typically deployed on internal or trusted networks.
Know when the next one hits your stack
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
Network-reachable multiRead needs an authenticated client session (PR:L) and a simple crafted request (AC:L); impact is a server crash only, so C:N/I:N/A:H and scope unchanged.
Description PRE-NVD
Executive ViewAI
A high-severity denial-of-service vulnerability in Apache ZooKeeper (versions 3.7.0 through 3.9.6) allows an authenticated client to crash a server with a single request, causing an OutOfMemoryError that takes down the ZooKeeper instance. This directly impacts availability of critical coordination services that many distributed systems depend on, potentially disrupting dependent applications and business operations.
No vendor-released patch identified at time of analysis. Interim mitigations include restricting network access to ZooKeeper client ports to trusted sources, implementing request rate limiting or filtering for multiRead operations, and monitoring for abnormal memory usage or request patterns. Apply vendor patch when available.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
Attack Technique
Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.
CVE.org
GitHub PoC
Exploit-DB