🔍 CVE-2021-41571

6.5
CVSS Score
MEDIUM
2022-02-01
2026-06-17 04:08
✅ 완료

🇰🇷 한글 설명

Apache Pulsar에서 인증된 사용자가 자신이 접근 권한이 없는 BookKeeper 데이터를 조회할 수 있는 취약점입니다. Admin API의 get-message-by-id 호출 시 토픽 이름에 대해서만 권한을 검증하고, 입력된 ledger id가 해당 토픽에 속하는지 검증하지 않아 발생합니다. 이로 인해 사용자가 다른 테넌트의 데이터가 포함된 ledger를 읽을 수 있습니다.

💡 쉬운 설명

사용자가 허락되지 않은 다른 사람의 데이터 저장소 주소를 직접 입력하여 몰래 데이터를 읽어갈 수 있는 문제입니다. 시스템이 데이터의 이름만 확인하고 실제 데이터의 위치가 올바른지 확인하지 않아서 발생합니다.

🇺🇸 원문 (English)

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.

📍 영향받는 시스템

Apache Pulsar 2.8.0 및 이전 버전, 2.7.3 및 이전 버전, 2.6.4 및 이전 버전

⚔️ 공격 벡터

Admin API의 get-message-by-id 엔드포인트에 권한이 없는 ledger id를 입력하여 데이터 탈취

🛡️ 대응 방법

Apache Pulsar를 취약점이 해결된 최신 보안 패치 버전으로 업데이트

🔧 검증 코드

출력된 버전이 취약한 버전 범위(2.8.0 이하, 2.7.3 이하, 2.6.4 이하)에 해당하는지 확인

Shell / Script
pulsar-admin --version

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N

💻 영향받는 소프트웨어

Spring for Apache Pulsar