---
id: CVE-2026-79993
title: >-
  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 znode or its
  paren…
summary: >-
  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 znode or its
  paren…
severity: high
cvss: 7.5
cvssVector: 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N'
cwe:
  - CWE-862
  - CWE-425
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:37:21.703'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-79993'
references:
  - url: 'https://lists.apache.org/thread/9cw3rmrzhqpct26v8j18fy41bghlq8y5'
    label: security@apache.org
  - url: 'http://www.openwall.com/lists/oss-security/2026/09/15/5'
    label: af854a3a-2127-422b-91ae-364da2661108
  - url: >-
      https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-79993.json
  - url: 'https://access.redhat.com/security/cve/CVE-2026-79993'
  - url: 'https://bugzilla.redhat.com/show_bug.cgi?id=2535095'
  - url: 'https://www.cve.org/CVERecord?id=CVE-2026-79993'
  - url: 'https://nvd.nist.gov/vuln/detail/CVE-2026-79993'
  - url: 'https://access.redhat.com/errata/RHSA-2026:83612'
tags:
  - nvd
  - cve.org
  - csaf
  - vex
  - red-hat
epss: 0.00603
epssPercentile: 0.48634
ssvc:
  exploitation: none
  automatable: 'yes'
  technicalImpact: partial
  timestamp: '2026-09-17T19:15:43.099911Z'
ingestedAt: '2026-09-16T09:53:11.604Z'
scores:
  nvd: 7.5
  vendor: 9.1
---

## Overview

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 znode or its parent. This opcode is considered internal-only and the official client doesn't have API for it, but a client that can open a plain TCP session on the ZooKeeper client port (2181 by default) - with NO authentication and NO ACL permissions - can delete any empty persistent znode (including regular persistent nodes, container nodes, and TTL nodes) by issuing the raw protocol OpCode deleteContainer (20). The deleteContainer request path completely skips both the session check and the DELETE ACL check that are enforced by the regular delete (OpCode 2) path. This is an authorization bypass / ACL enforcement bug.

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

- `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 build of Debezium 3, Red Hat Data Grid 8, Red Hat Fuse 7, Red Hat JBoss Enterprise Application Platform 7, … · no fix planned: Red Hat Data Grid 8, Red Hat Fuse 7, Red Hat JBoss Enterprise Application Platform 7, Red Hat AMQ Broker 7, … · updated 2026-10-16 · [vex](https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-79993.json)
- **RHSA-2026:83612** · Red Hat · fixed in: Red Hat Build of Debezium 3.6 · released 2026-10-15 · [advisory](https://access.redhat.com/errata/RHSA-2026:83612)
