Skip to main content

Apache ZooKeeper CVE-2026-115448

MEDIUM
2026-11-03
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Reach ZooKeeper client port (2181)
  2. Delivery
    Create deeply nested znode chain
  3. Exploit
    Trigger data-tree snapshot serialization
  4. Execution
    Recursion exhausts JVM stack, kills snapshot thread
  5. Persist
    Restart replays log, crashes on startup snapshot
  6. Impact
    Persistent outage spreads across ensemble

Vulnerability Assessment

Exploitation Conditions

Exploitation requires a client that is permitted to create znodes. By default this is unauthenticated and remote because ZooKeeper's root ACL is open (world-creatable), so default deployments are exploitable by any client that can reach the client port (2181). The concrete prerequisite is the ability to create a chain of nested znodes deep enough to overflow the JVM stack during snapshot serialization; individual records stay within jute.maxbuffer, so that limit does not prevent it. The primary limiting factor is the vendor-stated workaround: deployments that use ACLs and authentication to restrict znode creation remove the unauthenticated path, so an attacker would then need authorization to create znodes. Network reachability of the client port is also required, so clusters that firewall the client port to trusted clients reduce exposure. Updating to 3.8.8 or 3.9.7 (or 3.10.0) is the only complete fix per the vendor.

Impact

Signals point to a credible availability threat whose urgency is tempered by the lack of exploitation evidence. The vendor CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:N) with VA:H describes a network-reachable, low-complexity, availability-only flaw requiring no authentication against a default deployment, which is consistent with the description: the default root ACL is open, so any client that can reach the client port can create znodes. However, the vuln.today Decision label is 'awaiting_data', and no EPSS score, no CISA KEV listing, and no public exploit were supplied - so there is no evidence of active or probable near-term exploitation to corroborate the high base score. The PR:N rating is honest only for default-open-ACL deployments; in environments that already enforce ACLs and authentication on znode creation the attacker must be authorized, effectively raising the privilege requirement. The severity driver is impact rather than likelihood: the DoS is persistent (the server rebuilds the deep tree from its transaction log and crashes again on the startup snapshot) and can propagate to followers across the ensemble via the shared log, so successful exploitation is hard to recover from and can entail data loss. Net: a genuinely serious availability/integrity-of-service issue worth prioritising for patching, but currently a high-CVSS issue without demonstrated exploitation rather than a confirmed emergency - the 'awaiting_data' label should be revisited if EPSS/KEV data later appears.

Exploit ScenarioDerived

An attacker who can reach a ZooKeeper client port (2181) on a cluster using the default open root ACL creates a long chain of nested znodes, each a child of the last, staying under jute.maxbuffer per record. When the server next serializes its data tree to a snapshot, the one-stack-frame-per-level recursion exhausts the JVM stack and kills the snapshot thread; on restart the server rebuilds the deep tree from its transaction log and crashes again during the startup snapshot, and the same log can carry the condition to followers. No public exploit code was identified at time of analysis.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
No patch listed yet

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Nov 03, 2026

Client-created deeply nested znode chains in Apache ZooKeeper 3.8.0 through 3.8.7 and 3.9.0 through 3.9.6 can exhaust the JVM stack while the server serializes its data tree to a snapshot, killing the snapshot thread and, because the same deep tree is rebuilt from the transaction log on restart, leaving the server unable to return to service. Scoring is CVSS 4.0 8.7 (AV:N/AC:L/PR:N/UI:N/VA:H) and an assessed CVSS 3.1 vector of AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H, an availability-only impact; default deployments are exposed because the root ACL is open, so any client that can reach the client port and create znodes can trigger it, while deployments requiring authentication and ACLs for znode creation remove the unauthenticated path. No public exploit identified at time of analysis and there is no KEV listing; the vendor has released fixes in 3.8.8, 3.9.7 and 3.10.0.

RemediationAI

Upgrade to Apache ZooKeeper 3.8.8 or 3.9.7 (3.10.0 is also listed as a fix version); the vendor states that updating is the only complete fix. If an upgrade cannot be scheduled immediately, the vendor-stated workaround is to use ACLs and authentication to restrict znode creation rather than relying on the default open root ACL; this removes the unauthenticated path but requires every client to authenticate and can break applications or tooling that depend on world-creatable znodes, so ACL changes must be planned alongside client configuration. Because the client port must be reachable to trigger the flaw, limiting network access to port 2181 to trusted clients reduces exposure, at the cost of blocking legitimate external clients. Advisory: https://issues.apache.org/jira/browse/ZOOKEEPER-5097 and https://seclists.org/oss-sec/2026/q4/488.

Affected ProductsAI

Apache ZooKeeper releases 3.8.0 through 3.8.7 and 3.9.0 through 3.9.6 are affected according to the vendor description, with fixes published in 3.8.8, 3.9.7 and 3.10.0 (JIRA ZOOKEEPER-5097 lists all three as fix versions). The advisory header also lists 3.8.8 and 3.9.7 among affected versions, but the description states those releases fix the issue and the JIRA records them as fix versions, so they should be treated as fixed rather than vulnerable. No CPE identifiers were provided in the source data. Vendor advisory: https://issues.apache.org/jira/browse/ZOOKEEPER-5097 and the project site https://zookeeper.apache.org/; the oss-security post is at https://seclists.org/oss-sec/2026/q4/488.

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

ZooKeeper keeps its namespace as an in-memory hierarchical tree of znodes and persists state through periodic snapshots plus a transaction log. The snapshot serializer walks the tree recursively, consuming one stack frame per znode level with no depth bound; jute.maxbuffer caps the size of individual records but places no limit on tree depth or cumulative serialized size, so a client permitted to create znodes can build a chain deep enough that snapshot serialization throws StackOverflowError and terminates the snapshot thread. The deep chain is also recorded in the transaction log, so a restart replays the log, rebuilds the same deep tree and fails again while taking the startup snapshot, making the denial of service persistent and potentially forcing recovery that entails data loss; the replicated log reaches leader and followers alike, so the condition can propagate across an ensemble. No CWE identifier was supplied in the source data; the root cause class described is uncontrolled recursion depth leading to stack exhaustion. Upstream JIRA ZOOKEEPER-5097, titled "Make DataTree snapshot serialization iterative" (fix versions 3.10.0, 3.8.8, 3.9.7; label pull-request-available), is the tracking issue, and the same JIRA text also describes related hardening of snapshot deserialization entry points (file load, AdminServer restore, and Learner.syncWithLeader), which was scoped as an improvement rather than the vulnerability itself.

Know when Atlassian gets its next vulnerability

  • 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

vuln.today AI 7.5 HIGH

Default open root ACL allows unauthenticated remote znode creation (AV:N/AC:L/PR:N/UI:N); impact is availability-only persistent DoS (A:H) with no confidentiality or integrity loss.

3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
4.0 AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N

Description PRE-NVD

Disclosed via oss-security. NVD scoring and full description are pending.

Threat Intelligence Overview

Prevalence
High
core coordination service for Kafka, Hadoop, HBase and many clusters
Data Quality
1 sources
Confidence: Low

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.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS N/A
Patch available No
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

Attack Technique

Insecure deserialization occurs when an application converts serialized data (a stream of bytes representing an object's state) back into a living object without proper validation.

Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.

CVE-2023-22515 CRITICAL POC
9.8 Oct 04

Atlassian has been made aware of an issue reported by a handful of customers where external attackers may have exploited

CVE-2015-5603 MEDIUM POC
6.5 Sep 21

The HipChat for JIRA plugin before 6.30.0 for Atlassian JIRA allows remote authenticated users to execute arbitrary Java

CVE-2015-8399 MEDIUM POC
4.3 Apr 11

Atlassian Confluence before 5.8.17 allows remote authenticated users to read configuration files via the decoratorName p

CVE-2012-2926 CRITICAL POC
9.1 May 22

Atlassian JIRA before 5.0.1; Confluence before 3.5.16, 4.0 before 4.0.7, and 4.1 before 4.1.10; FishEye and Crucible bef

CVE-2024-53677 CRITICAL
9.5 Dec 11

File upload logic in Apache Struts is flawed. Rated critical severity (CVSS 9.5), this vulnerability is remotely exploit

CVE-2014-2314 MEDIUM POC
4.3 Mar 09

Directory traversal vulnerability in the Issue Collector plugin in Atlassian JIRA before 6.0.4 allows remote attackers t

CVE-2023-22518 CRITICAL POC
9.8 Oct 31

All versions of Confluence Data Center and Server are affected by this unexploited vulnerability. Rated critical severit

CVE-2022-43781 CRITICAL POC
9.8 Nov 17

There is a command injection vulnerability using environment variables in Bitbucket Server and Data Center. Rated critic

CVE-2022-26134 CRITICAL POC
9.8 Jun 03

In affected versions of Confluence Server and Data Center, an OGNL injection vulnerability exists that would allow an un

CVE-2019-11580 CRITICAL POC
9.8 Jun 03

Atlassian Crowd and Crowd Data Center had the pdkinstall development plugin incorrectly enabled in release builds. Rated

CVE-2017-9506 MEDIUM POC
6.1 Aug 23

The IconUriServlet of the Atlassian OAuth Plugin from version 1.3.0 before version 1.9.12 and from version 2.0.0 before

CVE-2024-21683 HIGH POC
8.8 May 21

This High severity RCE (Remote Code Execution) vulnerability was introduced in version 5.2 of Confluence Data Center and

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy