When a configured proxy role sends a request to the broker on behalf of another user (the...
Paquets affectés
| Écosystème | Paquet | Concernées | Corrigé |
|---|---|---|---|
| Apache Software Foundation | Apache Pulsar |
≥ 2.8.1, < 4.0.14 ≥ 4.1.0, < 4.2.5 |
4.0.14 4.2.5 |
Description d'origine La description telle que publiée par la source (souvent en anglais).
When a configured proxy role sends a request to the broker on behalf of another user (the original principal), the broker is designed to authorize both the proxy role and the original principal and to allow the request only if both are authorized, so that the original principal cannot exceed its own permissions. Two flaws weakened this check.
First, the original principal was authorized with the proxy's authentication data instead of its own. On the admin REST API of the broker and the functions worker, this applied to every proxied request. On the Pulsar binary protocol, it applied when the proxy did not forward the client's credentials to the broker, which was the default of the Pulsar proxy in the affected versions. Authorization providers that resolve permissions from the role name only, such as the default authorization provider, are not affected by this flaw. The multi-role token authorization provider (MultiRolesTokenAuthorizationProvider), added in Apache Pulsar 2.8.1, resolves roles from the role claim of the token in the authentication data it is given. When a proxy authenticates to the broker with its own token, the original principal was therefore authorized with all roles in the proxy's token. If any of those roles is a superuser or tenant admin role, any user whose requests are forwarded by that proxy can perform operations that need those permissions without holding them. Custom authorization providers that use the authentication data could be affected in a si…
Source: CVE.org (CVE Program・cvelistV5) NVD GitHub Advisory
Références
- web security@apache.org
- web lists.apache.org
- web nvd.nist.gov
- web pulsar.apache.org
- web github.com