🇰🇷 한글 설명
PHP 5.2.7 이전 버전에서 php_admin_flag로 활성화된 safe_mode 제약이 error_log에 적용되지 않아, .htaccess 파일에 'php_value error_log' 항목을 추가하여 임의의 파일에 쓰기 공격을 실행할 수 있는 취약점입니다.
💡 쉬운 설명
PHP 웹서버의 보안 제한이 제대로 작동하지 않아 공격자가 특정 설정 파일을 수정해 서버에 임의의 파일을 저장할 수 있습니다. 이를 통해 웹사이트 코드를 변조하거나 시스템을 장악할 수 있습니다.
🇺🇸 원문 (English)
PHP 5 before 5.2.7 does not enforce the error_log safe_mode restrictions when safe_mode is enabled through a php_admin_flag setting in httpd.conf, which allows context-dependent attackers to write to arbitrary files by placing a "php_value error_log" entry in a .htaccess file.
📍 영향받는 시스템
PHP 5.0.x - 5.2.6 (safe_mode 활성화된 서버)
⚔️ 공격 벡터
.htaccess 파일에서 php_value error_log 지시어를 이용해 임의 경로에 error 로그를 쓰기
🛡️ 대응 방법
PHP를 5.2.7 이상으로 업그레이드
🔧 검증 코드
PHP 버전이 5.2.7 미만이면 'vulnerable', 5.2.7 이상이면 'patched'로 출력되어 취약점 여부를 판단할 수 있습니다.
php -v 2>/dev/null | grep -oP 'PHP \K[0-9]+\.[0-9]+\.[0-9]+' | awk -F. '{if($1<5||($1==5&&$2<2)||($1==5&&$2==2&&$3<7)) print "vulnerable"; else print "patched"}'