Information disclosure in persistent watchers handling in Apache ZooKeeper due to missing ACL check. It allows an attacker to monitor child znodes by attaching a persistent watcher (addWatch command) to a parent which the attacker has already access to. ZooKeeper server doesnt do ACL check when the persistent watcher is triggered and as a consequence, the full path of znodes that a watch event gets triggered upon is exposed to the owner of the watcher. Its important to note that only the path is exposed by this vulnerability, not the data of znode, but since znode path can contain sensitive information like user name or login ID, this issue is potentially critical.
Users are recommended to upgrade to version 3.9.2, 3.8.4 which fixes the issue.
The product does not perform an authorization check when an actor attempts to access a resource or perform an action.
Name | Vendor | Start Version | End Version |
---|---|---|---|
Zookeeper | Apache | 3.6.0 (including) | 3.7.2 (including) |
Zookeeper | Apache | 3.8.0 (including) | 3.8.4 (excluding) |
Zookeeper | Apache | 3.9.0 (including) | 3.9.2 (excluding) |
Red Hat AMQ Streams 2.5.2 | RedHat | * | |
Zookeeper | Ubuntu | focal | * |
Zookeeper | Ubuntu | mantic | * |
Zookeeper | Ubuntu | trusty/esm | * |
Assuming a user with a given identity, authorization is the process of determining whether that user can access a given resource, based on the user’s privileges and any permissions or other access-control specifications that apply to the resource. When access control checks are not applied, users are able to access data or perform actions that they should not be allowed to perform. This can lead to a wide range of problems, including information exposures, denial of service, and arbitrary code execution.