🇰🇷 한글 설명
PHP 5.2.0 및 4.4의 session_save_path 처리에서 null byte를 이용한 파싱 불일치 취약점으로, 공격자가 safe_mode와 open_basedir 제한을 우회할 수 있습니다. 악의적 경로 뒤에 null byte와 세미콜론, 허용된 경로를 조합하면 PHP는 허용된 경로를 검증하지만 실제 session.save_path는 악의적 경로로 설정됩니다.
💡 쉬운 설명
PHP 웹 서버의 보안 제한을 특수 문자(null byte)로 속여서 우회할 수 있는 취약점입니다. 공격자가 제한된 영역 밖의 경로에 파일을 저장하도록 조작할 수 있습니다.
🇺🇸 원문 (English)
PHP 5.2.0 and 4.4 allows local users to bypass safe_mode and open_basedir restrictions via a malicious path and a null byte before a ";" in a session_save_path argument, followed by an allowed path, which causes a parsing inconsistency in which PHP validates the allowed path but sets session.save_path to the malicious path.
📍 영향받는 시스템
PHP 5.2.0, PHP 4.4
⚔️ 공격 벡터
session_save_path 설정 인자에 null byte(\0)와 세미콜론(;)을 조합하여 경로 파싱 불일치 발생
🛡️ 대응 방법
PHP를 5.2.1 이상 또는 4.4.5 이상으로 업그레이드
🔧 검증 코드
해당 버전이 출력되면 취약점 있음, 5.2.1 이상 또는 4.4.5 이상 버전은 패치됨
php -v | grep -E 'PHP (5\.2\.[0]|4\.4\.[0-3])'