CVE-2026-84501
MediumCVSS 5.3Exploitation Probability (EPSS)
Low risk35th percentile - higher than 35% of all known CVEs
Summary
An unauthenticated attacker can inject arbitrary fake log lines into Apache ZooKeeper's operational log by sending a crafted add_auth("ensemble", ...) request containing newline characters. The ensemble name is not sanitized before being logged, allowing the attacker to forge log entries indistinguishable from genuine ones.
Risk Assessment
An attacker can manipulate logs, hindering attack detection and forensic analysis, and potentially misleading administrators.
Recommendation
It is recommended to immediately upgrade Apache ZooKeeper to version 3.8.7 or 3.9.6, which fix this vulnerability.
Other vulnerabilities in Apache ZooKeeper
See all- CVE-2017-5637High
Two four-letter commands 'wchp/wchc' are CPU intensive and can cause a spike in CPU utilization on the Apache ZooKeeper server if abused, leading to the server being unable to serve legitimate client requests.
- CVE-2016-5017High
Buffer overflow in the C cli shell in Apache Zookeeper before version 3.4.9 and 3.5.x before version 3.5.3, occurring when using the 'cmd:' batch mode syntax, allows attackers to have unspecified impact via a long command string.
- CVE-2026-84439Medium
When audit logging is enabled, an unauthenticated attacker can inject arbitrary fields into Apache ZooKeeper's audit log by sending a digest authentication request with tab characters in the username. The injected tabs are parsed as field separators, allowing the attacker to spoof audit results and operations.
- CVE-2026-79993High
In Apache ZooKeeper, the deleteContainer opcode (0x14/20) is processed without verifying ACL permissions, allowing any authenticated client to delete empty persistent, container, and TTL nodes even without proper permissions. This is an authorization bypass and ACL enforcement bug.
- CVE-2026-59969High
In Apache ZooKeeper, in FIPS mode, peer hostname verification in quorum TLS is not enforced. Despite enabling the relevant options, the connection accepts a CA-trusted certificate even if the SAN does not match the connected host, allowing a malicious certificate to join quorum traffic.
- CVE-2026-59739High
In Apache ZooKeeper, there is an information disclosure via SetWatches reconnect replay due to missing ACL check. An attacker can discover ACL-restricted paths by registering exists-watches on non-existent paths, then reconnecting after the paths are created with restricted ACLs.
- CVE-2026-24308High
In Apache ZooKeeper versions 3.8.5 and 3.9.4, improper handling of configuration values in ZKConfig allows an attacker to expose sensitive information stored in client configuration in the client's logfile. Configuration values are exposed at INFO level logging, potentially affecting production systems.
- CVE-2026-24281High
In Apache ZooKeeper, hostname verification in ZKTrustManager falls back to reverse DNS (PTR) when IP SAN validation fails, allowing attackers who control or spoof PTR records to impersonate ZooKeeper servers or clients with a valid certificate for the PTR name. The attacker must present a certificate trusted by ZKTrustManager, making the attack vector harder to exploit.
Original NVD description (English source)
An unauthenticated attacker can inject arbitrary fake log lines into Apache ZooKeeper's operational log by sending a crafted add_auth("ensemble", ...) request containing newline characters (\n). When the ensemble name doesn't match, EnsembleAuthenticationProvider.handleAuthentication() logs the raw, unsanitized name via LOG.warn(). Because SLF4J's {} placeholder preserves embedded newlines, the attacker can forge complete log entries — with arbitrary timestamps, log levels, class names, and messages — that are visually indistinguishable from genuine ZooKeeper log output. This issue affects Apache ZooKeeper: from 3.9.0 through 3.9.5, from 3.8.0 through 3.8.6. Users are recommended to upgrade to version 3.8.7 or 3.9.6, which fixes the issue.
Vulnerability data from NVD (NIST) · CISA KEV · EPSS

