CVE-2023-25194
Apache Kafka Connect API: Kafka Connect의 SASL JAAS JndiLoginModule 구성을 통한 잠재적 RCE/서비스 거부 공격
- 게시됨
- 2023. 2. 7.
- 업데이트됨
- 2025. 3. 25.
- CNA 할당 중
- apache
- 증거 관찰됨
- 2026. 8. 8.
기본 CVSS
nvd · CVSS 3.1
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H높음 · 다음 30일
- 백분위수
- 99.9%
- 모델 날짜
- 2026. 10. 19.
EPSS는 통계적 추정치이지 확실성이나 영향의 척도가 아닙니다. 이를 CVSS, KEV 상태, 노출 및 환경과 결합하세요.
요약
Apache Kafka Connect API에서 잠재적인 보안 취약점이 확인되었습니다. 이 취약점을 악용하려면 Kafka Connect worker에 접근할 수 있어야 하며, 임의의 Kafka client SASL JAAS config와 SASL 기반 보안 프로토콜을 사용하여 커넥터를 생성/수정할 수 있어야 합니다. 이는 Apache Kafka Connect 2.3.0 이후 Kafka Connect 클러스터에서 가능했습니다. Kafka Connect REST API를 통해 커넥터를 구성할 때, 인증된 운영자는 커넥터의 모든 Kafka 클라이언트에 대한 `sasl.jaas.config` 속성을 "com.sun.security.auth.module.JndiLoginModule"로 설정할 수 있으며, 이는 `producer.override.sasl.jaas.config`, `consumer.override.sasl.jaas.config` 또는 `admin.override.sasl.jaas.config` 속성을 통해 수행할 수 있습니다. 이로 인해 서버가 공격자의 LDAP 서버에 연결하고 LDAP 응답을 역직렬화할 수 있게 되며, 공격자는 이를 사용하여 Kafka Connect 서버에서 Java 역직렬화 gadget chain을 실행할 수 있습니다. 공격자는 classpath에 gadget이 존재하는 경우 신뢰할 수 없는 데이터의 무제한 역직렬화(또는) RCE 취약점을 유발할 수 있습니다. Apache Kafka 3.0.0부터 사용자는 기본 구성을 사용하는 Kafka Connect 클러스터의 커넥터 구성에서 이러한 속성을 지정할 수 있습니다. Apache Kafka 3.0.0 이전에는 Kafka Connect 클러스터가 이를 허용하는 커넥터 클라이언트 재정의 정책(connector client override policy)으로 재구성되지 않은 한 사용자는 이러한 속성을 지정할 수 없습니다. Apache Kafka 3.4.0부터 SASL JAAS 구성에서 문제가 되는 로그인 모듈 사용을 비활성화하는 시스템 속성("-Dorg.apache.kafka.disallowed.login.modules")이 추가되었습니다. 또한 Apache Kafka Connect 3.4.0에서는 기본적으로 "com.sun.security.auth.module.JndiLoginModule"이 비활성화되어 있습니다. Kafka Connect 사용자에게 커넥터 구성을 검증하고 신뢰할 수 있는 JNDI 구성만 허용할 것을 권장합니다. 또한 커넥터 종속성에서 취약한 버전을 확인하고, 커넥터를 업그레이드하거나 해당 특정 종속성을 업그레이드하거나, 완화 조치로 커넥터를 제거하는 옵션을 검토하십시오. 마지막으로, "org.apache.kafka.disallowed.login.modules" 시스템 속성을 활용하는 것 외에도 Kafka Connect 사용자는 자체 커넥터 클라이언트 구성 재정의 정책(connector client config override policy)을 구현할 수 있으며, 이를 통해 커넥터 구성에서 어떤 Kafka 클라이언트 속성을 직접 재정의할 수 있고 어떤 속성을 재정의할 수 없는지 제어할 수 있습니다.
소스
kafka/CVE-2023-25194
Apache Kafka Clients JNDI injection RCE (CVE-2023-25194)
Vulhub vulnerability labs명시된 조건
- lab image version: vulhub/apache-druid:25.0.0(kafka/CVE-2023-25194/docker-compose.yml:services.web.image)
modules/exploits/multi/http/apache_druid_cve_2023_25194.rb
Metasploit Framework modules명시된 조건
- platform: Unix,Windows($.exploit_multi/http/apache_druid_cve_2023_25194.platform)
- verification: check_declared($.exploit_multi/http/apache_druid_cve_2023_25194.check)
http/cves/2023/CVE-2023-25194.yaml
Nuclei Templates명시된 조건
- network: http($.protocol_keys)
- verification: status,word($.matchers[*].type)
- oob: interactsh_reference($.template_text)
책임 있는 사용
귀하가 소유하고 있거나 테스트할 권한이 있는 시스템에 대해서만 취약점 정보를 사용하십시오. Kitploit은 공개 연구 메타데이터에 연결되며 익스플로잇 코드나 악성 페이로드를 저장하지 않습니다.