{"id":"CVE-2026-100252","title":"Apache ZooKeeper: SASL authorization bypass on the client port through a client-supplied authorization ID","summary":"Improper Authorization vulnerability in Apache ZooKeeper.\n\nWhen 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 …","severity":"high","cvss":8.6,"cvssVector":"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","cvssSource":"cna","cwe":["CWE-863"],"vendor":"Apache Software Foundation","product":"org.apache.zookeeper:zookeeper","affected":["org.apache.zookeeper:zookeeper >= 3.9.0 <= 3.9.6","org.apache.zookeeper:zookeeper >= 3.8.0 <= 3.8.7"],"ssvc":{"exploitation":"none","automatable":"no","technicalImpact":"total","timestamp":"2026-11-04T00:00:00+00:00"},"published":"2026-11-04","updated":"2026-11-05","sourceUpdated":"2026-11-05T04:55:52.687Z","source":"CVEORG","sourceUrl":"https://www.cve.org/CVERecord?id=CVE-2026-100252","references":[{"url":"https://lists.apache.org/thread.html/81rdyqlmlp3dtkkqgp8t5080g3b9r2pj"}],"tags":["cve.org"],"ingestedAt":"2026-11-05T21:36:00.736Z","slug":"CVE-2026-100252","body":"## Overview\n\nImproper Authorization vulnerability in Apache ZooKeeper.\n\nWhen 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.\n\nAn 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.\n\nUsers are recommended to upgrade to version 3.8.8 or 3.9.7, which fixes the issue.\n\n## Affected\n\n- `org.apache.zookeeper:zookeeper >= 3.9.0 <= 3.9.6`\n- `org.apache.zookeeper:zookeeper >= 3.8.0 <= 3.8.7`\n\n## Remediation\n\nRefer to the linked advisories for vendor-supplied fixes and affected version ranges.","depth":"twilight","depthScore":47,"depthScoreParts":{"impact":47.3,"likelihood":0,"exploitation":0,"ransomware":0},"changes":[]}