🇰🇷 한글 설명
PHP 4.4.4 이하 및 PHP 5.1.6 이하 버전에서 ini_restore 함수를 통해 PHP.ini 기본값으로 설정을 초기화하여 safe_mode와 open_basedir 같은 Apache HTTP Server 보안 제한을 우회할 수 있습니다. 로컬 사용자가 이를 악용하여 서버의 보안 정책을 무력화할 수 있습니다.
💡 쉬운 설명
PHP의 중요한 보안 설정들을 강제로 리셋시킬 수 있는 버그가 있었습니다. 서버에 접근 가능한 사용자가 이를 이용하면 본래 금지된 작업들을 수행할 수 있었습니다.
🇺🇸 원문 (English)
PHP 4.x up to 4.4.4 and PHP 5 up to 5.1.6 allows local users to bypass certain Apache HTTP Server httpd.conf options, such as safe_mode and open_basedir, via the ini_restore function, which resets the values to their php.ini (Master Value) defaults.
📍 영향받는 시스템
PHP 4.x up to 4.4.4, PHP 5.x up to 5.1.6 (로컬 사용자 접근 가능한 Apache + PHP 환경)
⚔️ 공격 벡터
로컬 사용자가 ini_restore() 함수를 실행하여 safe_mode와 open_basedir 설정을 PHP.ini 기본값으로 강제 초기화
🛡️ 대응 방법
PHP를 4.4.5 이상 또는 5.1.7 이상으로 업그레이드하거나, ini_restore 함수 사용 제한
🔧 검증 코드
버전 문자열이 출력되면 취약 버전(4.0.0~4.4.4 또는 5.0.0~5.1.6), 아무것도 출력되지 않으면 안전한 버전입니다.
php -v 2>/dev/null | grep -oP 'PHP \K(4\.[0-4]\.[0-9]|5\.[01]\.[0-6])'