CVE-2026-84439: CWE-117 Improper output neutralization for logs in Apache Software Foundation Apache ZooKeeper
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.
AI Analysis
Technical Summary
This vulnerability arises from improper output neutralization for logs (CWE-117) in Apache ZooKeeper's audit logging feature. Specifically, when audit logging is enabled (zookeeper.audit.enable=true), the server serializes digest ACL ids into the audit log without escaping tab characters. Because the audit log format uses tab-separated key=value pairs, injected tabs in the username or ACL id fields are interpreted as field separators, enabling an attacker to inject forged audit fields such as result=success or operation=delete. This can mislead forensic analysis and incident response by corrupting audit trail integrity. The vulnerability affects Apache ZooKeeper versions from 3.8.0 to 3.8.6 and 3.9.0 to 3.9.5. The vendor recommends upgrading to 3.8.7 or 3.9.6 to remediate the issue.
Potential Impact
An unauthenticated attacker can manipulate audit logs by injecting arbitrary fields, potentially forging audit results and operation types. This compromises the reliability and integrity of audit logs, which are critical for forensic investigations, alerting, and incident response. Although the vulnerability does not directly allow code execution or data breach, it undermines trust in audit records and could hinder detection of malicious activity.
Mitigation Recommendations
A fix is available. Users should upgrade Apache ZooKeeper to version 3.8.7 or 3.9.6, where this log injection vulnerability has been addressed by properly escaping tab characters in audit logs. No other mitigation is specified or required once the upgrade is applied.
CVE-2026-84439: CWE-117 Improper output neutralization for logs in Apache Software Foundation Apache ZooKeeper
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.
Affected software
Apache Software Foundation
Apache ZooKeeper
pkg:maven/Apache Software Foundation/org.apache.zookeeper:zookeeperRun on your own infrastructure? Check whether these packages are installed with threat-finder — our free open-source scanner.
Weaknesses
AI-Powered Analysis
Machine-generated threat intelligence
Technical Analysis
This vulnerability arises from improper output neutralization for logs (CWE-117) in Apache ZooKeeper's audit logging feature. Specifically, when audit logging is enabled (zookeeper.audit.enable=true), the server serializes digest ACL ids into the audit log without escaping tab characters. Because the audit log format uses tab-separated key=value pairs, injected tabs in the username or ACL id fields are interpreted as field separators, enabling an attacker to inject forged audit fields such as result=success or operation=delete. This can mislead forensic analysis and incident response by corrupting audit trail integrity. The vulnerability affects Apache ZooKeeper versions from 3.8.0 to 3.8.6 and 3.9.0 to 3.9.5. The vendor recommends upgrading to 3.8.7 or 3.9.6 to remediate the issue.
Potential Impact
An unauthenticated attacker can manipulate audit logs by injecting arbitrary fields, potentially forging audit results and operation types. This compromises the reliability and integrity of audit logs, which are critical for forensic investigations, alerting, and incident response. Although the vulnerability does not directly allow code execution or data breach, it undermines trust in audit records and could hinder detection of malicious activity.
Mitigation Recommendations
A fix is available. Users should upgrade Apache ZooKeeper to version 3.8.7 or 3.9.6, where this log injection vulnerability has been addressed by properly escaping tab characters in audit logs. No other mitigation is specified or required once the upgrade is applied.
Technical Details
- Data Version
- 5.2
- Assigner Short Name
- apache
- Date Reserved
- 2026-09-01T19:22:00.838Z
- State
- PUBLISHED
Threat ID: 6aaa659d55bf5e2cf5501bec
Added to database: 09/16/2026, 09:47:09 UTC
Last enriched: 09/16/2026, 10:01:37 UTC
Last updated: 09/16/2026, 10:32:25 UTC
Views: 5
Community Reviews
0 reviewsCrowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.
Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.
Actions
Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.
Need more coverage?
Upgrade to Pro Console for AI refresh and higher limits.
For incident response and remediation, OffSeq services can help resolve threats faster.
Latest Threats
Check if your credentials are on the dark web
Instant breach scanning across billions of leaked records. Free tier available.