🇰🇷 한글 설명
libcurl 또는 curl 도구에서 CURLOPT_PINNEDPUBLICKEY 옵션을 사용할 때 서버 인증서의 공개 키를 검증해야 하는 절차가 특정 조건에서 누락되는 취약점입니다. GnuTLS 기반의 ngtcp2를 사용하는 QUIC 연결에서 표준 인증서 검증을 명시적으로 비활성화할 경우, 공개 키 검증이 건너뛰어져 공격자를 식별하지 못할 수 있습니다.
💡 쉬운 설명
인터넷 연결 시 상대방이 진짜인지 확인하는 '지문 확인' 과정이 특정 상황에서 생략되는 문제입니다. 이로 인해 가짜 사이트가 진짜인 것처럼 속여 연결을 시도할 수 있습니다.
🇺🇸 원문 (English)
When using `CURLOPT_PINNEDPUBLICKEY` option with libcurl or `--pinnedpubkey`
with the curl tool, curl should check the public key of the server certificate
to verify the peer.
This check was skipped in a certain condition that would then make curl allow
the connection without performing the proper check, thus not noticing a
possible impostor. To skip this check, the connection had to be done with QUIC
with ngtcp2 built to use GnuTLS and the user had to explicitly disable the
standard certificate verification.
📍 영향받는 시스템
GnuTLS 기반 ngtcp2를 사용하는 QUIC 프로토콜 환경의 libcurl 및 curl 도구
⚔️ 공격 벡터
QUIC 프로토콜을 사용하며 인증서 검증을 비활성화한 상태에서 중간자 공격(MitM)을 통해 위장 서버 연결
🛡️ 대응 방법
libcurl 및 curl을 최신 보안 패치가 적용된 버전으로 업데이트하십시오.
🔧 검증 코드
출력된 curl 버전을 확인하여 해당 취약점이 해결된 최신 버전인지 제조사의 보안 권고문과 대조하십시오.