🇰🇷 한글 설명
OpenSSL TLS 구현에서 pn_ssl_domain_set_trusted_ca_db()와 pn_tls_config_set_trusted_certs() API가 기존 신뢰 앵커를 대체하지 않고 시스템 기본 신뢰 앵커에 추가만 하여, 예상치 못한 피어 인증서를 신뢰할 수 있습니다. 영향 버전은 Apache Qpid Proton C 0.40.0 이하이며, 0.41.1에서 수정되었습니다. Win32 SChannel 구현에는 영향이 없습니다.
💡 쉬운 설명
이 프로그램이 보안 연결에서 신뢰해야 할 인증서만 믿지 않고 시스템 기본 인증서들까지 함께 믿게 되는 문제입니다. 그래서 정상적이지 않은 서버의 인증서도 신뢰될 수 있습니다.
🇺🇸 원문 (English)
When using the OpenSSL TLS implementation, both the pn_ssl_domain_set_trusted_ca_db() & pn_tls_config_set_trusted_certs() APIs added to rather than replaced the default system trust anchors. Leading to potentially trusting unexpected peer certificates.
This can be worked around by setting the SSL_CERT_FILE environment variable for the application to /dev/null.
This issue does not affect the Win32 SChannel TLS implementation.
This issue affects Apache Qpid Proton C: through 0.40.0.
Users are recommended to upgrade to version 0.41.1, which fixes the issue.
📍 영향받는 시스템
Apache Qpid Proton C 0.40.0 이하 버전 (OpenSSL TLS 구현 사용 시)
⚔️ 공격 벡터
공격자가 시스템 신뢰 저장소에 의해 신뢰되는 인증서를 가진 악성 서버로 중간자 공격(MITM)을 수행하여 TLS 연결을 가로채거나 위조합니다.
🛡️ 대응 방법
Apache Qpid Proton C를 0.41.1 이상으로 업그레이드하거나, 임시 완화책으로 애플리케이션 실행 시 SSL_CERT_FILE 환경변수를 /dev/null로 설정합니다.
🔧 검증 코드
출력된 버전이 0.41.1 미만(0.40.0 이하)이면 취약하므로 업그레이드가 필요하고, 0.41.1 이상이면 수정된 버전입니다. 아무것도 출력되지 않으면 해당 패키지가 설치되어 있지 않습니다.
pkg-config --modversion libqpid-proton 2>/dev/null || dpkg -l | grep -i qpid-proton 2>/dev/null