CVE-2026-84439
Received
Received - Intake
Log Injection in Apache ZooKeeper
Vulnerability report for CVE-2026-84439, including description, CVSS score, EPSS score, affected products, exploitability, helpful resources, and attack-flow context.
Publication date: 2026-09-16
Last updated on: 2026-09-16
Assigner: Apache Software Foundation
Description
Description
When audit logging is enabled (zookeeper.audit.enable=true), an unauthenticated attacker can inject arbitrary fields into Apache ZooKeeper's audit log by sending a digest authentication request with tab characters (\t) embedded in the username. Because the audit log uses tab-separatedΒ key=valueΒ format, the injected tabs are parsed as legitimate field separators, allowing the attacker to spoof audit results (e.g., injectingΒ result=success), forge operation types, and corrupt forensic evidence.
A log injection vulnerability in Apache ZooKeeper allows a client that can callΒ setACLΒ to inject forged key-value fields intoΒ zookeeper_audit.log. When audit logging is enabled, the server serializes attacker-controlled digest ACL ids into theΒ acl=Β audit field without escaping tab characters. Because audit events are emitted as tab-separatedΒ key=valueΒ records, a crafted ACL id can make one successfulΒ setAclΒ event appear to contain forged fields such asΒ operation=deleteΒ andΒ znode=/forged. This undermines the integrity of downstream audit parsing, alerting, and incident response.
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.9.6 or 3.8.7, which fixes the issue.
CVSS Scores
EPSS Scores
| Probability: | |
| Percentile: |
Meta Information
Affected Vendors & Products
| Vendor | Product | Version / Range |
|---|---|---|
| apache | zookeeper | From 3.8.0 (inc) to 3.8.6 (inc) |
| apache | zookeeper | From 3.9.0 (inc) to 3.9.5 (inc) |
| apache | zookeeper | 3.9.6 |
| apache | zookeeper | 3.8.7 |
Helpful Resources
Exploitability
| CWE ID | Description |
|---|---|
| CWE-117 | The product constructs a log message from external input, but it does not neutralize or incorrectly neutralizes special elements when the message is written to a log file. |