---
id: CVE-2026-84501
title: >-
  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)
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 (\n). When the ensemble name doesn't
  match, Ense…
severity: medium
cvss: 5.3
cvssVector: 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N'
cwe:
  - CWE-117
vendor: apache
product: zookeeper
affected:
  - 'zookeeper >= 3.8.0, < 3.8.7'
  - 'zookeeper >= 3.9.0, < 3.9.6'
patched:
  - zookeeper 3.9.6
published: '2026-09-16'
updated: '2026-09-18'
sourceUpdated: '2026-09-18T14:36:51.747'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-84501'
references:
  - url: 'https://lists.apache.org/thread/ohby1g6zjt72p0w79rhbr41nczzvr33y'
    label: security@apache.org
  - url: 'http://www.openwall.com/lists/oss-security/2026/09/15/7'
    label: af854a3a-2127-422b-91ae-364da2661108
  - url: >-
      https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-84501.json
  - url: 'https://access.redhat.com/security/cve/CVE-2026-84501'
  - url: 'https://bugzilla.redhat.com/show_bug.cgi?id=2535096'
  - url: 'https://www.cve.org/CVERecord?id=CVE-2026-84501'
  - url: 'https://nvd.nist.gov/vuln/detail/CVE-2026-84501'
tags:
  - nvd
  - cve.org
  - csaf
  - vex
  - red-hat
epss: 0.00742
epssPercentile: 0.54476
ssvc:
  exploitation: none
  automatable: 'yes'
  technicalImpact: partial
  timestamp: '2026-09-16T19:42:27.138755Z'
ingestedAt: '2026-09-16T09:53:11.603Z'
---

## Overview

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.

## Affected

- `zookeeper >= 3.8.0, < 3.8.7`
- `zookeeper >= 3.9.0, < 3.9.6`

## Remediation

Upgrade past the affected range:

- `zookeeper 3.9.6`

## Vendor advisories

- **Red Hat VEX** · Moderate · affected: Red Hat AMQ Broker 7, Red Hat build of Apache Camel for Spring Boot 4, Red Hat Fuse 7, Red Hat JBoss Enterprise Application Platform Expansion Pack, Red Hat Offline Knowledge Portal, Red Hat OpenShift AI (RHOAI) · no fix planned: Red Hat Fuse 7, Red Hat OpenShift AI (RHOAI), Red Hat AMQ Broker 7, Red Hat build of Apache Camel for Spring Boot 4, … · updated 2026-10-05 · [vex](https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-84501.json)
