🇰🇷 한글 설명
cpp-httplib 라이브러리에서 Mbed TLS 또는 wolfSSL 백엔드를 사용할 때, IP 리터럴 호스트로 연결 시 서버 인증서 체인 검증을 건너뛰는 취약점이 발견되었습니다. 이로 인해 중간자 공격(MitM)을 통해 공격자가 위조된 인증서를 제시하고 통신 내용을 가로채거나 수정할 수 있습니다.
💡 쉬운 설명
인터넷 연결 시 상대방이 진짜인지 확인하는 보안 검사 과정이 특정 조건에서 생략되는 문제입니다. 이로 인해 해커가 중간에서 통신 내용을 몰래 훔쳐보거나 내용을 바꿀 수 있습니다.
🇺🇸 원문 (English)
cpp-httplib is a C++11 single-file header-only cross platform HTTP/HTTPS library. In affected Mbed TLS backend versions from 0.31.0 through 0.46.1 and wolfSSL backend versions from 0.33.0 through 0.46.1, when cpp-httplib is built with CPPHTTPLIB_MBEDTLS_SUPPORT or CPPHTTPLIB_WOLFSSL_SUPPORT and a client connects to an IP-literal host with server certificate verification enabled, SSLClient and Client in HTTPS mode skip certificate chain validation and WebSocketClient on the Mbed TLS backend skips verification altogether, allowing a man-in-the-middle attacker positioned to intercept traffic to present a crafted certificate and read or modify the traffic. This issue is fixed in version 0.47.0.
📍 영향받는 시스템
cpp-httplib (Mbed TLS 0.31.0~0.46.1 또는 wolfSSL 0.33.0~0.46.1 백엔드 사용 시)
⚔️ 공격 벡터
중간자 공격(Man-in-the-Middle)을 통해 위조된 SSL 인증서를 제시하여 트래픽 탈취
🛡️ 대응 방법
cpp-httplib 버전을 0.47.0 이상으로 업데이트하십시오.
🔧 검증 코드
프로젝트 빌드 설정에서 해당 백엔드 지원 옵션이 활성화되어 있는지 확인하십시오.
grep -r "CPPHTTPLIB_MBEDTLS_SUPPORT" . || grep -r "CPPHTTPLIB_WOLFSSL_SUPPORT" .