🇰🇷 한글 설명
PHP의 OpenSSL 모듈에서 X.509 인증서의 Subject Alternative Name 필드에 포함된 null 문자('\0')를 올바르게 처리하지 못하는 취약점입니다. 공격자는 정상 인증기관이 발급한 위조 인증서를 이용하여 MITM 공격을 수행하고 임의의 SSL 서버를 스푸핑할 수 있습니다.
💡 쉬운 설명
웹사이트 보안 인증서에서 도메인 이름을 확인할 때 특수 문자를 놓치는 문제가 있습니다. 이를 악용하면 공격자가 정상 사이트인 것처럼 위장한 가짜 사이트로 트래픽을 리다이렉트할 수 있습니다.
🇺🇸 원문 (English)
The openssl_x509_parse function in openssl.c in the OpenSSL module in PHP before 5.4.18 and 5.5.x before 5.5.2 does not properly handle a '\0' character in a domain name in the Subject Alternative Name field of an X.509 certificate, which allows man-in-the-middle attackers to spoof arbitrary SSL servers via a crafted certificate issued by a legitimate Certification Authority, a related issue to CVE-2009-2408.
📍 영향받는 시스템
PHP 5.4.18 이전, PHP 5.5.0-5.5.1
⚔️ 공격 벡터
정상 CA가 발급한 인증서의 SAN 필드에 null 문자를 삽입하여 도메인 검증 우회 후 MITM 공격 수행
🛡️ 대응 방법
PHP를 5.4.18 이상(5.4 계열) 또는 5.5.2 이상으로 업그레이드
🔧 검증 코드
5.4.17 이하 또는 5.5.0-5.5.1이 출력되면 취약 버전임
php -v 2>/dev/null | grep -oE '5\.(4\.(1[0-7]|[0-9])|5\.[01])'