🇰🇷 한글 설명
PHP 4.x(4.4.0 이하) 및 5.x(5.0.5 이하)의 parse_str 함수에서 발생하는 취약점입니다. 공격자가 메모리 제한(memory_limit) 설정을 초과하는 입력을 보내면 내부 플래그가 설정되어 register_globals 설정이 강제로 활성화될 수 있으며, 이를 통해 다른 보안 취약점을 공격할 수 있게 됩니다.
💡 쉬운 설명
특정 함수에 너무 많은 데이터를 보내 서버의 메모리를 일시적으로 가득 채우면, 보안 설정이 자동으로 해제되는 현상이 발생합니다. 해커는 이 틈을 타서 서버의 내부 설정값을 마음대로 조작할 수 있습니다.
🇺🇸 원문 (English)
The parse_str function in PHP 4.x up to 4.4.0 and 5.x up to 5.0.5, when called with only one parameter, allows remote attackers to enable the register_globals directive via inputs that cause a request to be terminated due to the memory_limit setting, which causes PHP to set an internal flag that enables register_globals and allows attackers to exploit vulnerabilities in PHP applications that would otherwise be protected.
📍 영향받는 시스템
PHP 4.x (up to 4.4.0) and 5.x (up to 5.0.5)
⚔️ 공격 벡터
메모리 제한을 초과하는 특수하게 조작된 입력을 parse_str 함수에 전달하여 register_globals 설정을 강제 활성화
🛡️ 대응 방법
PHP 버전을 4.4.1 또는 5.0.6 이상의 최신 버전으로 업데이트
🔧 검증 코드
명령어 실행 결과 PHP 버전이 출력되면 해당 취약점에 노출된 버전임을 의미합니다.
php -v 2>/dev/null | grep -E 'PHP (4\.[0-3]|4\.4\.0|5\.0\.[0-5])'