Bug 2535096 (CVE-2026-84501)

Summary: CVE-2026-84501 zookeeper: Apache ZooKeeper: Operational log forgery via newline injection
Product: [Other] Security Response Reporter: OSIDB Bzimport <bzimport>
Component: vulnerabilityAssignee: Product Security DevOps Team <prodsec-dev>
Status: NEW --- QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: unspecifiedCC: anujha, asoldano, asyoung, ataylor, bbaranow, bmaxwell, bstansbe, csuconic, dbruscin, dlofthou, eglynn, ehugonne, fmariani, fmongiar, gmalinko, gtully, istudens, ivassile, iweiss, janstey, jhollowa, jjoyce, jnethert, jpretori, jschluet, jsherman, jwon, kaycoth, kvanderr, lhh, mburns, mcarlett, mgarciac, mosmerov, msvehla, nwallace, pberan, pdelbell, pesilva, pjindal, pmackay, prichard, rgemmell, rgodfrey, rstancel, rstepani, sthirugn, tbish, tcunning, thjenkin, tlavocat, vdosoudi, yfang
Target Milestone: ---Keywords: Security
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: ---
Doc Text:
A flaw was found in Apache ZooKeeper. An unauthenticated attacker can inject arbitrary fake log lines into the operational log by sending a specially crafted request containing newline characters. This vulnerability allows the attacker to forge complete log entries, including timestamps, log levels, and messages. These forged entries are visually indistinguishable from genuine ZooKeeper log output, which could lead to misinterpretation of system activity and hinder incident response efforts.
Story Points: ---
Clone Of: Environment:
Last Closed: Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 2542320, 2542321, 2542322    
Bug Blocks:    

Description OSIDB Bzimport 2026-09-16 09:49:04 UTC
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.