CVE-2026-79993: Apache ZooKeeper Unauthorized Deletion of Znodes Due to Missing ACL Check

zookeeper Updated 19 Sep 2026

Summary

19/09/2026
Yes i
High
Not published

CVE-2026-79993: The deleteContainer opcode (0x14/20) is processed without verifying the caller's ACL permissions, allowing any authenticated client to delete specific znodes in the data tree regardless of the ACL restrictions on the zno... Affects zookeeper across 2 version ranges.

>= 3.8.0, < 3.8.7 >= 3.9.0, < 3.9.6

Fixed in 3.8.7 or 3.9.6, depending on the release line you run. How to fix ↓

Free scan

Check if this vulnerability affects your application

Upload a manifest or SBOM and we'll show whether you're affected, plus every other risky package in the same scan.

Check my app free

No signup required · Results in about 60 seconds

Upload your dependency manifest or SBOM

Drag & drop your file here or

Java Javascript PHP Python Go Rust Ruby Dart C/C++ Elixir CycloneDX SPDX

Upload a supported dependency manifest or SBOM. No installation or source-code access required.

See supported files and SBOM formats
SBOM sbom.json · bom.json · bom.xml · *.spdx.json · *.cdx.json · *.cdx.xml
Java pom.xml · gradle.lockfile · buildscript-gradle.lockfile
Javascript package-lock.json · yarn.lock · pnpm-lock.yaml
PHP composer.lock
Python poetry.lock · requirements.txt · Pipfile.lock
Go go.mod
Rust Cargo.lock
Ruby Gemfile.lock
Dart pubspec.lock
C/C++ conan.lock
Elixir mix.lock
Enter your work email to receive your report link.

Verify your email to view the full report and start 30 days of continuous monitoring. No credit card required.

Sponsored Devnack Your last release was probably never penetration tested Manual testing by engineers who build software, not an auditor's checklist. Trusted by teams at Swift and Google Talk to Devnack

Background

Apache ZooKeeper is a centralized service for maintaining configuration information, naming, providing distributed synchronization, and providing group services. It is widely used in distributed applications to manage large sets of data across clusters. The service relies on a hierarchical namespace and uses Access Control Lists (ACLs) to manage permissions for various operations. However, certain versions of ZooKeeper are vulnerable to unauthorized deletions due to a flaw in the handling of the deleteContainer opcode.

Vulnerability Detail

The vulnerability arises from the deleteContainer opcode (0x14/20), which processes requests without verifying the caller's ACL permissions. This oversight allows any authenticated client to delete specific znodes in the data tree, bypassing ACL restrictions. The opcode is intended for internal use and lacks an official API in the client. However, clients can exploit this vulnerability by connecting to the ZooKeeper client port (2181 by default) without authentication or ACL permissions, enabling them to delete any empty persistent znode. This creates a significant security risk, as unauthorized deletions can disrupt the integrity of the data tree.

How To Fix

Fixed versions by release line

The minimum fixed version depends on the release line you run.

  • >= 3.8.0, < 3.8.7 3.8.7
  • >= 3.9.0, < 3.9.6 3.9.6

Tip — Not sure which release line you're on? Vulert can find the fix for the version you are using. Scan free →

Workaround

As a temporary workaround, users can restrict access to the ZooKeeper client port (2181) by implementing firewall rules or network policies that limit connections to trusted clients only. This will help mitigate the risk of unauthorized access until the software can be updated.

Conclusion

In summary, CVE-2026-79993 is a critical vulnerability in Apache ZooKeeper that allows unauthorized deletion of znodes due to missing ACL checks on the deleteContainer opcode. Users are strongly advised to upgrade to the latest patched versions to mitigate this risk and ensure the integrity of their data.

See every vulnerability recorded for zookeeper →

Share this vulnerability

FAQ

The vulnerability affects Apache ZooKeeper versions from 3.8.0 through 3.8.6 and from 3.9.0 through 3.9.5.

The vulnerability has a CVSS score of 6.5, which is classified as High severity.

Yes, an attacker can exploit this vulnerability remotely by connecting to the ZooKeeper client port without authentication.

No, the deleteContainer opcode is considered internal-only and does not have an official API in the ZooKeeper client.

You can use Vulert, which monitors and alerts in real-time for open-source vulnerabilities by analyzing your manifest file like package-lock.json. You can check your application for vulnerabilities using the Vulert playground without any signup.

Related vulnerabilities

Recent vulnerabilities recorded for zookeeper.

How To Fix

Fixed versions by release line

The minimum fixed version depends on the release line you run.

  • >= 3.8.0, < 3.8.7 3.8.7
  • >= 3.9.0, < 3.9.6 3.9.6

Tip — Not sure which release line you're on? Vulert can find the fix for the version you are using. Scan free →

Subscribe to Vulert on Telegram
Daily digest of new CVEs, critical and high severity, affected packages and fixes — plus a weekly roundup.
Join the channel →
Help improve this record
Report an issue or send feedback