🇰🇷 한글 설명
Apache Commons HttpClient 4.2.3 이전 버전에서 SSL 인증서 검증 시 서버 호스트명을 X.509 인증서의 CN이나 subjectAltName 필드와 제대로 비교하지 않는 취약점입니다. 공격자가 특별히 제작된 인증서로 중간자 공격을 수행할 수 있습니다.
💡 쉬운 설명
라이브러리가 웹사이트의 인증서가 진짜인지 확인할 때 제대로 검사하지 않아서, 가짜 인증서로도 통과될 수 있습니다. 공격자가 가짜 웹사이트로 사용자의 통신을 가로챌 수 있습니다.
🇺🇸 원문 (English)
http/conn/ssl/AbstractVerifier.java in Apache Commons HttpClient before 4.2.3 does not properly verify that the server hostname matches a domain name in the subject's Common Name (CN) or subjectAltName field of the X.509 certificate, which allows man-in-the-middle attackers to spoof SSL servers via a certificate with a subject that specifies a common name in a field that is not the CN field. NOTE: this issue exists because of an incomplete fix for CVE-2012-5783.
📍 영향받는 시스템
Apache Commons HttpClient < 4.2.3
⚔️ 공격 벡터
공격자가 자신의 인증서로 중간자 위치에서 SSL 통신을 가로채기
🛡️ 대응 방법
Apache Commons HttpClient를 4.2.3 이상으로 업그레이드
🔧 검증 코드
commons-httpclient JAR 파일을 찾아 버전 확인 후, 메타데이터나 라이선스 파일에서 버전 정보 추출 필요
find . -name '*.jar' -exec sh -c 'jar tf "$1" | grep -q commons-httpclient && echo "Found: $1"' _ {} \; | head -5