Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessHold or obtain a current ACL permission
-
DeliveryObserve or race an in-flight setACL revocation
-
ExploitSubmit write/delete/setACL in the pre-commit window
-
ExecutionOperation authorized against stale ACL, applied post-revocation
-
ImpactRe-grant self full permissions to persist access
Vulnerability Assessment
| Exploitation Conditions | Exploitation requires an in-flight setACL operation on a target znode and the attacker's request to be prepared/authorized within the window after that setACL is submitted but before it commits (the TOCTOU race, reflected as AT:P). In the general case the attacker must already hold the permission being revoked (PR:L) - e.g. a client losing write access that continues to issue writes/deletes or re-grants itself permissions. The vendor identifies a specific unauthenticated case: deployments transitioning from the default OPEN_ACL_UNSAFE ACL to a restrictive ACL, where any unauthenticated client can exploit the transition window. Limiting factors: there must be an active ACL change to race, the window is timing-bound, and impact is limited to integrity (unauthorized writes/deletes/ACL changes) - no confidentiality or availability impact is claimed. Updating to 3.8.8 or 3.9.7 is the fix. |
| Impact | This is a moderate-severity authorization-bypass (TOCTOU race) in Apache ZooKeeper's setACL handling, and the available signals point to a real but conditional risk rather than a drop-everything emergency. The only supplied CVSS is the vendor's CVSS 4.0 base score of 6.0 (CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N): network-reachable, low attack complexity, but with Attack Requirements Present (AT:P) - consistent with the race-condition window the description relies on - and low privileges required (PR:L), impacting integrity only (VI:H; VC/VA = N). No CVSS 3.1 vector, EPSS score, or SSVC exploitation/automatable values were provided, so probabilistic exploitation likelihood cannot be quantified from this input. The vuln.today Decision label is 'awaiting_data', i.e. not yet prioritized as act_now or emergency. There is no CISA KEV listing and no verified exploit code in the references (only the oss-security advisory and the vendor site), so exploitation status is: no public exploit identified at time of analysis. A notable conflict/nuance: the official vector encodes PR:L (authenticated, holding some permission), yet the description explicitly states that in deployments transitioning from the default OPEN_ACL_UNSAFE ACL to a restrictive ACL, any unauthenticated client can exploit the window - so the PR:L metric understates the worst-case (transition) scenario, where authentication is effectively not required. Net: prioritize for patching on ensembles that undergo ACL tightening or rely on ACL revocation for security, but the AT:P race requirement and the need for an in-flight setACL limit opportunistic mass exploitation. |
| Exploit ScenarioDerived | An administrator tightens a znode's ACL via setACL (for example revoking a client's write access, or migrating a tree from OPEN_ACL_UNSAFE to a restrictive ACL). A client that still held the old permission submits write/delete/setACL requests timed to land in the window after the setACL is submitted but before it commits; those requests are authorized against the stale pre-revocation ACL yet applied after the change takes effect, letting the client persist writes or even re-grant itself full permissions. No public exploit code is identified at time of analysis; exploitation depends on hitting the race window (AT:P) around an active ACL change. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Nov 03, 2026
ACL enforcement bypass in Apache ZooKeeper 3.8.x and 3.9.x occurs when setACL changes are not published to the node's outstanding change record, allowing a request authorized against the old ACL to commit after the revocation. An authenticated client that already holds the permission being revoked can use the race to commit writes or deletes or to re-grant permissions, and the vendor notes an unauthenticated path during a transition from OPEN_ACL_UNSAFE to a restrictive ACL. No public exploit identified at time of analysis; impact is integrity-only, and the fixed releases are 3.8.8 and 3.9.7.
RemediationAI
Upgrade to Apache ZooKeeper 3.8.8 or 3.9.7, the fixed releases named in the vendor advisory. The input does not describe a supported workaround, so remediation should center on deploying one of those fixed versions; the oss-security advisory (https://seclists.org/oss-sec/2026/q4/484) and the Apache ZooKeeper project page (https://zookeeper.apache.org/) are the available references. The vendor identifies deployments transitioning from the default OPEN_ACL_UNSAFE ACL to a restrictive ACL as an unauthenticated exploitation path, so that scenario warrants particular attention when scheduling the upgrade.
Affected ProductsAI
Apache ZooKeeper versions 3.9.0 through 3.9.6 and 3.8.0 through 3.8.7 are affected; the vendor advisory states the issue affects Apache ZooKeeper up to and including 3.9.6 and recommends upgrading to 3.8.8 or 3.9.7. No CPE strings were provided in the input data. The available references are the oss-security advisory at https://seclists.org/oss-sec/2026/q4/484 and the Apache ZooKeeper project page at https://zookeeper.apache.org/.
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 is a replicated coordination service whose data tree consists of znodes governed by ACLs. In setACL request handling, the pending ACL change is not published to the server's outstanding change record for that node, creating a time-of-check-to-time-of-use window: a request prepared and authorized after setACL is submitted but before it commits is checked against the previous ACL yet applied to the data tree after the ACL change commits. The vendor CVSS 4.0 score is 6.0 (medium) with AT:P and integrity impact I:H, and the assessed CVSS 3.1 vector is AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:H/A:N. CWE data was not provided in the input; the described weakness is incorrect authorization due to a TOCTOU race.
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 (AV:N); AC:H for the TOCTOU race timing window; PR:L since the general case needs a currently-held permission; integrity-only impact (I:H), no confidentiality or availability effect.
Description PRE-NVD
Articles & Coverage 1
Executive ViewAI
A critical ACL enforcement bypass in Apache ZooKeeper 3.8.x and 3.9.x allows a client to commit unauthorized writes, deletes, or permission re-grants by racing an ACL revocation, undermining the integrity of coordination data used by dependent services. Leadership should care because compromised ZooKeeper integrity can cascade into configuration tampering or denial of service across the distributed systems that rely on it, though no public exploit has been identified.
Restrict network access to ZooKeeper to trusted clients, enforce strong authentication and authorization on all connections, avoid transitional OPEN_ACL_UNSAFE states, and monitor for anomalous ACL changes or unauthorized writes; upgrade to fixed releases 3.8.8 or 3.9.7 as soon as possible.
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
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
CVE.org
GitHub PoC
Exploit-DB