🔍 CVE-2014-3577

5.8
CVSS Score
MEDIUM
2014-08-21
2026-06-17 00:08
✅ 완료

🇰🇷 한글 설명

Apache HttpComponents HttpClient 4.3.5 이전 및 HttpAsyncClient 4.0.2 이전 버전에서 X.509 인증서의 CN(Common Name) 또는 subjectAltName 필드와 서버 호스트명을 제대로 검증하지 않는 취약점입니다. 공격자가 인증서의 DN(Distinguished Name)에서 O(Organization) 필드에 'foo,CN=www.apache.org' 형식의 문자열을 삽입하면 호스트명 검증을 우회할 수 있습니다.

💡 쉬운 설명

SSL 인증서 검증 시 속임수를 쓸 수 있는 버그입니다. 공격자가 가짜 인증서로도 정상 서버인 척 할 수 있어서 중간에서 통신을 탈취하거나 조작할 수 있습니다.

🇺🇸 원문 (English)

org.apache.http.conn.ssl.AbstractVerifier in Apache HttpComponents HttpClient before 4.3.5 and HttpAsyncClient before 4.0.2 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 "CN=" string in a field in the distinguished name (DN) of a certificate, as demonstrated by the "foo,CN=www.apache.org" string in the O field.

📍 영향받는 시스템

Apache HttpClient < 4.3.5, HttpAsyncClient < 4.0.2

⚔️ 공격 벡터

조작된 X.509 인증서의 DN 필드에 CN= 문자열을 삽입하여 호스트명 검증 우회 및 MITM 공격 수행

🛡️ 대응 방법

HttpClient를 4.3.5 이상, HttpAsyncClient를 4.0.2 이상으로 업그레이드

🔧 검증 코드

Maven 로컬 저장소에서 httpclient/httpcore JAR 파일의 버전을 확인합니다. 파일명이나 Manifest에서 4.3.5 이상인지 확인하세요.

Shell / Script
find ~/.m2/repository -name 'httpclient*.jar' -o -name 'httpcore*.jar' | xargs jar tf | grep -E 'Manifest|pom.properties' | head -20

📊 CVSS Vector String

CVSS Vector
AV:N/AC:M/Au:N/C:P/I:P/A:N

💻 영향받는 소프트웨어

Apache HTTP Server