🔍 CVE-2016-10397

7.5
CVSS Score
HIGH
2017-07-10
2026-05-13 00:24
✅ 완료

🇰🇷 한글 설명

PHP의 URL 파서가 URI 컴포넌트를 부정확하게 처리하여, 공격자가 호스트명 기반 URL 검증을 우회할 수 있는 취약점입니다. parse_url 함수에서 프래그먼트(#)나 쿼리 스트링(?)을 포함한 특수한 형식의 URL을 입력할 때 실제 호스트를 올바르게 파싱하지 못합니다.

💡 쉬운 설명

PHP의 웹 주소 분석 기능에 오류가 있어서, 공격자가 악성 사이트를 정상 사이트인 것처럼 위장할 수 있습니다. 예를 들어 '악성사이트#@정상사이트' 형식의 URL을 사용하면 프로그램은 정상 사이트라고 인식하지만 실제로는 악성 사이트로 접속됩니다.

🇺🇸 원문 (English)

In PHP before 5.6.28 and 7.x before 7.0.13, incorrect handling of various URI components in the URL parser could be used by attackers to bypass hostname-specific URL checks, as demonstrated by evil.example.com:80#@good.example.com/ and evil.example.com:[email protected]/ inputs to the parse_url function (implemented in the php_url_parse_ex function in ext/standard/url.c).

📍 영향받는 시스템

PHP 5.6.28 이전 버전, PHP 7.0.13 이전 버전

⚔️ 공격 벡터

parse_url 함수에 조작된 URL(evil.example.com:80#@good.example.com/ 형식)을 입력하여 호스트명 검증 우회

🛡️ 대응 방법

PHP를 5.6.28 이상 또는 7.0.13 이상으로 즉시 업그레이드 필요

🔧 검증 코드

PHP 버전이 5.6.28 미만 또는 7.0.13 미만이면 나타납니다. 버전 5.6.28 이상 또는 7.0.13 이상으로 업그레이드하면 취약점이 해결됩니다.

Shell / Script
php -v | grep -oE 'PHP (5\.[0-6]\.[0-9]|7\.0\.[0-9]|7\.0\.1[0-2])'

📊 CVSS Vector String

CVSS Vector
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N

💻 영향받는 소프트웨어

PHP