Description
Improper Authorization vulnerability in Apache ZooKeeper.

When SASL authentication is enabled on the client port, the server's SASL callback handler grants every authorization identity (authzid) that a client requests, without checking it against the principal the client authenticated as. The server then tries to replace the requested identity with a canonical form of the authenticated principal, derived from the zookeeper.security.auth_to_local rules. If no rule applies to the principal, canonicalization fails and the error is only logged. The client-requested authzid then becomes the session's SASL identity for all ACL checks.

An authenticated client whose principal is not covered by the auth_to_local rules can therefore claim any SASL identity. With the default rules, this includes any Kerberos principal from a realm other than the server's default realm, such as a principal from a cross-realm trusted realm. The client then gets the permissions granted to that identity in sasl ACLs. If the requested identity matches a configured zookeeper.superUser, it gets superuser access to the whole data tree.

Users are recommended to upgrade to version 3.8.8 or 3.9.7, which fixes the issue.
Published: 2026-11-04
Score: 8.6 High
EPSS: n/a
KEV: No
Impact: Authorization bypass allowing privilege escalation
Action: Patch
AI Analysis

Impact

The vulnerability permits an authenticated client that connects to the ZooKeeper client port using SASL to request an arbitrary authorization identity (authzid). The server accepts the requested identity without verifying it against the authenticated principal, then attempts to canonicalize it using auth_to_local rules. If canonicalization fails, the server logs the error but still uses the requested authzid as the session’s SASL identity for all ACL checks. Consequently, the client can assume any Kerberos principal, including principals from cross‑realm trusted environments, and obtain the permissions granted to that identity. If the requested identity matches a configured superuser, the attacker gains unrestricted access to the entire ZooKeeper data tree.

Affected Systems

Apache ZooKeeper supplied by the Apache Software Foundation. Versions prior to 3.8.8 and 3.9.7 are vulnerable; the patched releases 3.8.8 and 3.9.7 contain the fix. Any deployment that has SASL authentication enabled on the client port and uses default or missing auth_to_local rules is at risk.

Risk and Exploitability

With a CVSS score of 8.6, the vulnerability poses a high impact. EPSS data is unavailable, and it is not listed in CISA’s KEV catalog, so the current exploit likelihood is uncertain but potential for exploitation exists. The likely attack vector is a remote client that establishes a SASL connection to the ZooKeeper client port, supplies a fabricated authzid, and relies on the server to accept it. Successful exploitation yields elevated privileges, potentially granting full administration of ZooKeeper resources.

Generated by OpenCVE AI on November 4, 2026 at 12:21 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade Apache ZooKeeper to version 3.8.8 or later, or 3.9.7 or later, to apply the vendor fix.
  • Reevaluate auth_to_local rules to ensure all authenticated principals are mapped correctly and that no unused principals can be injected.
  • Disable SASL authentication on the client port if it is not required, or restrict client access to trusted hosts through firewall rules.

Generated by OpenCVE AI on November 4, 2026 at 12:21 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Wed, 04 Nov 2026 13:00:00 +0000

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

Wed, 04 Nov 2026 12:30:00 +0000

Type Values Removed Values Added
References

Wed, 04 Nov 2026 11:00:00 +0000

Type Values Removed Values Added
Description Improper Authorization vulnerability in Apache ZooKeeper. When SASL authentication is enabled on the client port, the server's SASL callback handler grants every authorization identity (authzid) that a client requests, without checking it against the principal the client authenticated as. The server then tries to replace the requested identity with a canonical form of the authenticated principal, derived from the zookeeper.security.auth_to_local rules. If no rule applies to the principal, canonicalization fails and the error is only logged. The client-requested authzid then becomes the session's SASL identity for all ACL checks. An authenticated client whose principal is not covered by the auth_to_local rules can therefore claim any SASL identity. With the default rules, this includes any Kerberos principal from a realm other than the server's default realm, such as a principal from a cross-realm trusted realm. The client then gets the permissions granted to that identity in sasl ACLs. If the requested identity matches a configured zookeeper.superUser, it gets superuser access to the whole data tree. Users are recommended to upgrade to version 3.8.8 or 3.9.7, which fixes the issue.
Title Apache ZooKeeper: SASL authorization bypass on the client port through a client-supplied authorization ID
Weaknesses CWE-863
References
Metrics cvssV4_0

{'score': 8.6, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N'}


Subscriptions

Apache Zookeeper
cve-icon MITRE

Status: PUBLISHED

Assigner: apache

Published:

Updated: 2026-11-04T15:18:55.442Z

Reserved: 2026-09-25T16:45:48.869Z

Link: CVE-2026-100252

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Awaiting Analysis

Published: 2026-11-04T11:17:06.717

Modified: 2026-11-04T14:10:09.713

Link: CVE-2026-100252

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-11-04T12:45:13Z

Weaknesses