🇰🇷 한글 설명
Apache Kafka의 CONSUMER_GROUP_DESCRIBE API에서 권한 검증 로직과 공식 문서 간의 불일치가 발견되었습니다. 이로 인해 ACL 설정이 의도와 다르게 구성되어, 권한이 없는 사용자가 민감한 그룹 메타데이터에 접근하거나 부적절한 권한을 부여받을 위험이 있습니다.
💡 쉬운 설명
카프카의 보안 규칙 설명서와 실제 작동 방식이 서로 달라서 발생하는 문제입니다. 이로 인해 허가되지 않은 사용자가 그룹 정보를 몰래 보거나 잘못된 권한을 가질 수 있습니다.
🇺🇸 원문 (English)
An improper authorization vulnerability has been identified in Apache Kafka.
The implementation of the CONSUMER_GROUP_DESCRIBE (69) API validates the DESCRIBE operation on the GROUP resource instead of the READ operation that documented in the official kafka documentation and the KIP-848. This discrepancy can result in misconfigured Access Control Lists (ACLs) and unintended security postures, like granting READ permission to users who should not be able to join/sync groups, or allowing users without READ permission (but with DESCRIBE permission) to access sensitive group metadata.
The correct permission for CONSUMER_GROUP_DESCRIBE API is DESCRIBE GROUP so the current implementation is correct. However, the kafka documentation as well as the KIP-848 will be updated to reflect the correct permission. We advise the Kafka users to review existing group ACLs to ensure the principle of least privilege.
📍 영향받는 시스템
Apache Kafka (KIP-848 관련 구현 버전)
⚔️ 공격 벡터
잘못 설정된 ACL을 악용하여 DESCRIBE 권한만으로 민감한 컨슈머 그룹 메타데이터를 조회
🛡️ 대응 방법
기존의 그룹 ACL 설정을 검토하여 최소 권한 원칙(Principle of Least Privilege)에 따라 재설정하고, 업데이트될 공식 문서를 확인하십시오.
🔧 검증 코드
명령어 실행 결과로 출력된 ACL 설정이 의도한 권한(DESCRIBE vs READ)과 일치하는지 확인하십시오.
kafka-configs.sh --bootstrap-server localhost:9092 --describe --entity-type groups --entity-name <group_name>