🇰🇷 한글 설명
PHP 7.0.2 이전 버전의 php_escape_shell_cmd와 php_escape_shell_arg 함수에서 긴 문자열 처리 시 정수 오버플로우로 인한 힙 버퍼 오버플로우 발생. 원격 공격자가 악의적인 입력을 통해 서비스 거부 또는 임의 코드 실행이 가능합니다.
💡 쉬운 설명
PHP의 쉘 명령어 처리 함수들이 매우 긴 문자열을 받으면 메모리 오버플로우가 발생합니다. 웹 서버를 멈추거나 해커가 서버를 제어할 수 있습니다.
🇺🇸 원문 (English)
Multiple integer overflows in ext/standard/exec.c in PHP 7.x before 7.0.2 allow remote attackers to cause a denial of service or possibly have unspecified other impact via a long string to the (1) php_escape_shell_cmd or (2) php_escape_shell_arg function, leading to a heap-based buffer overflow.
📍 영향받는 시스템
PHP 7.0.0 ~ 7.0.1 (패치: 7.0.2+)
⚔️ 공격 벡터
php_escape_shell_cmd() 또는 php_escape_shell_arg()에 초과 길이 문자열을 입력하여 트리거
🛡️ 대응 방법
PHP를 7.0.2 이상으로 업그레이드하거나 사용자 입력 길이 검증 및 제한 구현
🔧 검증 코드
PHP 버전이 7.0.2 미만이면 취약함. 7.0.2 이상 또는 다른 주 버전은 안전
php -v | grep -oE 'PHP [0-9]+\.[0-9]+\.[0-9]+' | awk '{print $2}'