CVE-2021-41571: Pulsar Admin API allows access to data from other tenants using getMessageById API
In Apache Pulsar it is possible to access data from BookKeeper that does not belong to the topics accessible by the authenticated user. The Admin API get-message-by-id requires the user to input a topic and a ledger id. The ledger id is a pointer to the data, and it is supposed to be a valid it for the topic. Authorisation controls are performed against the topic name and there is not proper validation the that ledger id is valid in the context of such ledger. So it may happen that the user is able to read from a ledger that contains data owned by another tenant. This issue affects Apache Pulsar Apache Pulsar version 2.8.0 and prior versions; Apache Pulsar version 2.7.3 and prior versions; Apache Pulsar version 2.6.4 and prior versions.
Affected Software
Remediation
Patch Available
Event History
Frequently Asked Questions
What is CVE-2021-41571?
CVE-2021-41571 is a vulnerability in Apache Pulsar that allows unauthorized access to data from BookKeeper.
How does CVE-2021-41571 work?
CVE-2021-41571 allows an authenticated user to access data from BookKeeper that does not belong to the topics they have access to by using the Admin API get-message-by-id function.
What is the severity of CVE-2021-41571?
CVE-2021-41571 has a severity score of 6.5 (medium).
Which versions of Apache Pulsar are affected by CVE-2021-41571?
CVE-2021-41571 affects Apache Pulsar versions 2.6.0 to 2.6.4, 2.7.0 to 2.7.3, and 2.8.0.
How can I fix CVE-2021-41571 in Apache Pulsar?
To fix CVE-2021-41571 in Apache Pulsar, upgrade to version 2.7.4 or 2.8.1.