🇰🇷 한글 설명
RabbitMQ Java 클라이언트 라이브러리 5.33.0 미만 버전에서 SSL 프로토콜 설정 시 호스트 이름 검증이 비활성화되고 모든 인증서를 신뢰하는 취약점이 존재합니다. 네트워크 공격자가 TLS 연결을 가로채 RabbitMQ 브로커를 사칭함으로써 보호된 AMQP 트래픽을 읽거나 수정할 수 있습니다.
💡 쉬운 설명
프로그램이 서버의 신분증(인증서)을 제대로 확인하지 않아, 가짜 서버가 진짜인 척 속일 수 있는 보안 허점이 있습니다. 이를 통해 해커가 주고받는 데이터를 훔쳐보거나 내용을 바꿀 수 있습니다.
🇺🇸 원문 (English)
The RabbitMQ Java client library allows Java and JVM-based applications to connect to and interact with RabbitMQ nodes. Prior to 5.33.0, com.rabbitmq.client.ConnectionFactory.useSslProtocol() and ConnectionFactory.useSslProtocol(String) configure com.rabbitmq.client.TrustEverythingTrustManager and leave hostname verification disabled, causing arbitrary server certificates, including self-signed certificates, to be accepted. A network attacker able to intercept a TLS connection can impersonate the RabbitMQ broker, read protected AMQP traffic, and modify traffic without certificate or hostname validation. The fix changes the production TLS helpers to use the JVM default trust store and enables hostname verification, while retaining an explicitly named development-only no-verification helper. This issue is fixed in version 5.33.0.
📍 영향받는 시스템
RabbitMQ Java client library versions prior to 5.33.0
⚔️ 공격 벡터
네트워크 중간에서 TLS 연결을 가로채는 중간자 공격(Man-in-the-Middle)
🛡️ 대응 방법
RabbitMQ Java client 라이브러리를 5.33.0 이상 버전으로 업데이트하십시오.
🔧 검증 코드
출력된 rabbitmq-client의 버전을 확인하여 5.33.0 미만인지 체크합니다.
mvn dependency:list | grep rabbitmq-client