🇰🇷 한글 설명
PHP 4.0.5부터 4.1.0 버전의 safe mode에서 mail() 함수의 5번째 파라미터가 적절히 검증되지 않는 취약점입니다. 셸 메타문자를 이용하여 로컬 사용자 및 원격 공격자가 임의의 명령어를 실행할 수 있습니다.
💡 쉬운 설명
PHP 이메일 전송 함수에서 보안 검사가 부족해 공격자가 악의적인 명령어를 섞어 보낼 수 있습니다. 이를 통해 웹서버에서 공격자가 원하는 명령어를 무단으로 실행할 수 있게 됩니다.
🇺🇸 원문 (English)
PHP 4.0.5 through 4.1.0 in safe mode does not properly cleanse the 5th parameter to the mail() function, which allows local users and possibly remote attackers to execute arbitrary commands via shell metacharacters.
📍 영향받는 시스템
PHP 4.0.5, 4.0.6, 4.0.7, 4.0.8, 4.1.0 (safe mode enabled)
⚔️ 공격 벡터
mail() 함수의 5번째 파라미터에 셸 메타문자(예: ;, |, &, $())를 삽입하여 명령어 실행
🛡️ 대응 방법
PHP를 4.1.1 이상으로 업그레이드하거나 mail() 함수의 모든 파라미터에 대해 엄격한 입력값 검증 및 이스케이프 처리 적용
🔧 검증 코드
명령어가 PHP 버전을 출력하면 4.0.5~4.1.0 버전이 설치되어 있으며 취약함. 출력이 없으면 안전한 버전이 설치됨.
php -v 2>/dev/null | grep -E 'PHP (4\.0\.[5-9]|4\.1\.0)'