🇰🇷 한글 설명
PHP 5.2.12 이전 버전의 htmlspecialchars 함수가 UTF-8, Shift_JIS, EUC-JP 등의 오버롱 또는 잘못된 멀티바이트 시퀀스를 제대로 처리하지 못합니다. 공격자가 특수문자 앞에 특정 바이트 시퀀스를 삽입하여 HTML 인코딩을 우회하고 XSS 공격을 수행할 수 있습니다.
💡 쉬운 설명
PHP의 입력값 필터링 함수가 특정 문자 인코딩을 잘못 처리하여 악의적인 스크립트 실행을 허용합니다. 웹사이트 사용자 입력이 제대로 보호되지 않으면 해커가 다른 사용자의 브라우저에서 코드를 실행할 수 있습니다.
🇺🇸 원문 (English)
The htmlspecialchars function in PHP before 5.2.12 does not properly handle (1) overlong UTF-8 sequences, (2) invalid Shift_JIS sequences, and (3) invalid EUC-JP sequences, which allows remote attackers to conduct cross-site scripting (XSS) attacks by placing a crafted byte sequence before a special character.
📍 영향받는 시스템
PHP 5.2.12 이전 모든 버전
⚔️ 공격 벡터
멀티바이트 인코딩의 오버롱/잘못된 바이트 시퀀스를 포함한 XSS 페이로드를 입력값으로 전송
🛡️ 대응 방법
PHP를 5.2.12 이상의 버전으로 업그레이드
🔧 검증 코드
출력된 PHP 버전이 5.2.12 이상이면 취약점이 패치된 상태입니다.
php -v | grep -oE 'PHP [0-9]+\.[0-9]+\.[0-9]+'