🔍 CVE-2024-32030

8.1
CVSS Score
HIGH
2024-06-19
2026-04-15 00:35
✅ 완료

🇰🇷 한글 설명

Kafka UI의 JMX 모니터링 기능이 RMI 역직렬화 공격에 취약합니다. 동적 설정이 활성화되어 있거나 Kafka 클러스터에 접근 권한이 있는 공격자가 악의적인 RMI 리스너를 설정하여 원격 코드 실행(RCE)을 달성할 수 있습니다. 기본적으로 인증이 없으므로 위험도가 높습니다.

💡 쉬운 설명

Kafka UI가 외부 성능 모니터링을 할 때 신뢰할 수 없는 데이터를 받아서 실행하는 문제입니다. 공격자가 이를 악용하면 Kafka UI가 실행되는 서버에서 임의의 명령을 실행할 수 있습니다.

🇺🇸 원문 (English)

Kafka UI is an Open-Source Web UI for Apache Kafka Management. Kafka UI API allows users to connect to different Kafka brokers by specifying their network address and port. As a separate feature, it also provides the ability to monitor the performance of Kafka brokers by connecting to their JMX ports. JMX is based on the RMI protocol, so it is inherently susceptible to deserialization attacks. A potential attacker can exploit this feature by connecting Kafka UI backend to its own malicious broker. This vulnerability affects the deployments where one of the following occurs: 1. dynamic.config.enabled property is set in settings. It's not enabled by default, but it's suggested to be enabled in many tutorials for Kafka UI, including its own README.md. OR 2. an attacker has access to the Kafka cluster that is being connected to Kafka UI. In this scenario the attacker can exploit this vulnerability to expand their access and execute code on Kafka UI as well. Instead of setting up a legitimate JMX port, an attacker can create an RMI listener that returns a malicious serialized object for any RMI call. In the worst case it could lead to remote code execution as Kafka UI has the required gadget chains in its classpath. This issue may lead to post-auth remote code execution. This is particularly dangerous as Kafka-UI does not have authentication enabled by default. This issue has been addressed in version 0.7.2. All users are advised to upgrade. There are no known workarounds for this vulnerability. These issues were discovered and reported by the GitHub Security lab and is also tracked as GHSL-2023-230.

📍 영향받는 시스템

Kafka UI < 0.7.2 (특히 동적 설정이 활성화된 경우)

⚔️ 공격 벡터

공격자가 악의적인 JMX/RMI 포트를 설정하거나 Kafka 클러스터를 제어하여 직렬화된 악성 객체를 반환

🛡️ 대응 방법

Kafka UI를 0.7.2 이상으로 업그레이드하고, 동적 설정(dynamic.config.enabled) 비활성화

🔧 검증 코드

Kafka UI 버전은 관리 페이지의 About 섹션에서 확인하거나 docker inspect/rpm -qa로 패키지 버전 확인 후 0.7.2 이상 확인

Shell / Script
curl -s http://localhost:8080/api/brokers 2>/dev/null | grep -q 'brokers' && echo 'Kafka UI running' || echo 'Check installation'

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

Git