Apache Pulsarで認可を受けていない利用者がパーティション分割トピックを切り詰められる
Summary
認証済みの一般ユーザーが、テナント管理者でなくてもパーティション分割トピックを切り詰められる脆弱性です。ブローカーの内部認証情報で権限が判定される条件がそろうと悪用されるおそれがあります。影響を受けるのは Apache Pulsar 2.8.0 以降 4.0.14 未満、および 4.1.0 以降 4.2.5 未満で、4.0.14 または 4.2.5 以降への更新が必要です。
AI summary
Written by an external AI model and may contain mistakes. Check the original description and references below before acting on it.
認証済みの一般ユーザーが、テナント管理者でなくてもパーティション分割トピックを切り詰められる脆弱性です。ブローカーの内部認証情報で権限が判定される条件がそろうと悪用されるおそれがあります。影響を受けるのは Apache Pulsar 2.8.0 以降 4.0.14 未満、および 4.1.0 以降 4.2.5 未満で、4.0.14 または 4.2.5 以降への更新が必要です。
Affected packages
| Ecosystem | Package | Affected | Fixed |
|---|---|---|---|
| Apache Software Foundation | Apache Pulsar |
≥ 2.8.0, < 4.0.14 ≥ 4.1.0, < 4.2.5 |
4.0.14 4.2.5 |
Original description The description as published by the source.
The Apache Pulsar broker admin REST API provides a truncate operation for persistent topics (DELETE /admin/v2/persistent/{tenant}/{namespace}/{topic}/truncate). Truncating a topic moves all subscription cursors of the topic to the end of the topic and deletes the topic's inactive ledgers. Truncating a non-partitioned topic, or a single partition addressed by its partition name, correctly requires the tenant admin role or the superuser role. When the operation is requested for the name of a partitioned topic, the broker does not apply this tenant admin check to the caller. Instead, it truncates each partition using the broker's own internal admin client, which authenticates with the broker's configured client credentials rather than the caller's identity. Each per-partition truncate request is still checked for the tenant admin role or the superuser role, but against the broker's internal identity instead of the caller. The partitions are therefore truncated only when the broker's configured client role is a superuser or an admin of the target tenant, which is the usual configuration when authorization is enabled.
As a result, when that condition holds, an authenticated user who is not a tenant admin can truncate any partitioned topic on which the user has lookup permission. Caller authentication and lookup permission alone are not sufficient: if the broker's internal identity lacks tenant admin or superuser authorization for the target tenant, the per-partition requests are…
Source: CVE.org (CVE Program・cvelistV5) NVD GitHub Advisory
References
- web security@apache.org
- web lists.apache.org
- web nvd.nist.gov
- web pulsar.apache.org
- web github.com