🇰🇷 한글 설명
PHP를 CGI 스크립트로 설정했을 때 equals sign이 없는 쿼리 스트링을 부적절하게 처리하여, 공격자가 쿼리 스트링에 명령행 옵션을 삽입하여 리소스 소비로 인한 서비스 거부(DoS)를 유발할 수 있는 취약점입니다.
💡 쉬운 설명
PHP 웹 서버에서 특정 형식의 요청을 보내면 서버가 과도한 자원을 사용하여 응답 불가 상태가 될 수 있습니다. 이는 PHP의 쿼리 문자열 처리 방식의 결함으로 인한 것입니다.
🇺🇸 원문 (English)
sapi/cgi/cgi_main.c in PHP before 5.3.13 and 5.4.x before 5.4.3, when configured as a CGI script (aka php-cgi), does not properly handle query strings that lack an = (equals sign) character, which allows remote attackers to cause a denial of service (resource consumption) by placing command-line options in the query string, related to lack of skipping a certain php_getopt for the 'T' case. NOTE: this vulnerability exists because of an incomplete fix for CVE-2012-1823.
📍 영향받는 시스템
PHP 5.3.13 이전, PHP 5.4.0-5.4.2 (php-cgi 구성)
⚔️ 공격 벡터
HTTP GET 요청의 쿼리 스트링에 등호 기호 없이 명령행 옵션 삽입
🛡️ 대응 방법
PHP를 5.3.13 이상 또는 5.4.3 이상으로 즉시 업그레이드
🔧 검증 코드
5.3.13 미만 또는 5.4.0-5.4.2 버전이면 취약함. 5.3.13 이상, 5.4.3 이상이면 안전
php -v | grep -oP 'PHP \K[0-9]+\.[0-9]+\.[0-9]+'