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. 9. 21.
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 클라이언트 속성을 직접 재정의할 수 있고 어떤 속성을 재정의할 수 없는지 제어할 수 있습니다.
소스
3CVE-2023-25194에 대한 개념 증명 익스플로잇으로, Apache Kafka Connect의 JNDI 주입 취약점으로, 조작된 커넥터 구성을 통해 원격 코드 실행을 가능하게 합니다.
책임 있는 사용
귀하가 소유하고 있거나 테스트할 권한이 있는 시스템에 대해서만 취약점 정보를 사용하십시오. Kitploit은 공개 연구 메타데이터에 연결되며 익스플로잇 코드나 악성 페이로드를 저장하지 않습니다.