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.
Published: 2026-09-16
Score: 5.3 Medium
EPSS: < 1% Very Low
KEV: No
Impact: Audit Log Forgery
Action: Immediate Patch
AI Analysis

Impact

An unauthenticated attacker can inject arbitrary tab‑separated key=value fields into ZooKeeper’s audit log when audit logging is enabled, which subverts the integrity of audit data and can create forged operation records such as result=success or operation=delete. The flaw arises because the server does not sanitize tab characters in the ACL identifier, allowing an attacker to craft a setACL request that produces audit entries with forged fields. This vulnerability (CWE‑117) undermines forensic evidence and downstream alerting mechanisms.

Affected Systems

The flaw impacts Apache Software Foundation's Apache ZooKeeper versions 3.8.0 through 3.8.6 and 3.9.0 through 3.9.5. Users should update to the latest released version, 3.9.6 or 3.8.7, which removes the insecure handling of tab characters in audit log entries.

Risk and Exploitability

The vulnerability is exploitable by any client with permission to perform a setACL operation and requires that audit logging be enabled. Based on the description, the likely attack vector is a network request to a ZooKeeper server. An attacker does not need prior authentication. The EPSS score of < 1% indicates a very low probability of exploitation, while the vulnerability is not listed in CISA KEV. Nonetheless, the potential to fabricate audit data presents a high integrity risk, especially for environments that rely on audit logs for compliance or incident response.

Generated by OpenCVE AI on September 18, 2026 at 11:37 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade Apache ZooKeeper to version 3.9.6 or 3.8.7 or later to eliminate the unescaped tab handling flaw.
  • Disable audit logging if it is not required by setting `zookeeper.audit.enable=false`, thereby preventing the vulnerability from affecting logs altogether.
  • Restrict client authorization so that only trusted clients can execute setACL requests, reducing the attacker’s ability to inject forged log entries.
  • Monitor audit logs for unexpected field patterns such as duplicated tab separators or anomalous operation types, and investigate any such anomalies promptly.

Generated by OpenCVE AI on September 18, 2026 at 11:37 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Fri, 18 Sep 2026 14:45:00 +0000

Type Values Removed Values Added
CPEs cpe:2.3:a:apache:zookeeper:*:*:*:*:*:*:*:*

Thu, 17 Sep 2026 20:30:00 +0000

Type Values Removed Values Added
Metrics cvssV3_1

{'score': 5.3, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N'}

ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Wed, 16 Sep 2026 12:30:00 +0000

Type Values Removed Values Added
First Time appeared Apache
Apache zookeeper
Vendors & Products Apache
Apache zookeeper

Wed, 16 Sep 2026 11:30:00 +0000

Type Values Removed Values Added
References

Wed, 16 Sep 2026 09:45:00 +0000

Type Values Removed Values Added
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.
Title Apache ZooKeeper: Audit log injection via unsanitized output from multiple sources
Weaknesses CWE-117
References

Subscriptions

Apache Zookeeper
cve-icon MITRE

Status: PUBLISHED

Assigner: apache

Published:

Updated: 2026-09-17T19:14:53.953Z

Reserved: 2026-09-01T19:22:00.838Z

Link: CVE-2026-84439

cve-icon Vulnrichment

Updated: 2026-09-17T19:14:49.139Z

cve-icon NVD

Status : Analyzed

Published: 2026-09-16T10:16:53.433

Modified: 2026-09-18T14:37:30.650

Link: CVE-2026-84439

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-09-18T11:45:07Z

Weaknesses
  • CWE-117

    Improper Output Neutralization for Logs