🇰🇷 한글 설명
PHP 4.x(4.3.7 이하) 및 5.x(5.0.0RC3 이하)의 memory_limit 기능에서 발생하는 취약점입니다. register_globals가 활성화된 상태에서 zend_hash_init 함수 실행 중 메모리 제한 중단을 유발해 HashTable 소멸자 포인터를 덮어씀으로써 원격 코드 실행이 가능합니다.
💡 쉬운 설명
서버가 사용할 메모리 양을 조절하는 기능의 빈틈을 이용한 공격입니다. 공격자가 이 틈을 통해 서버의 제어권을 획득하여 원하는 명령어를 실행할 수 있습니다.
🇺🇸 원문 (English)
The memory_limit functionality in PHP 4.x up to 4.3.7, and 5.x up to 5.0.0RC3, under certain conditions such as when register_globals is enabled, allows remote attackers to execute arbitrary code by triggering a memory_limit abort during execution of the zend_hash_init function and overwriting a HashTable destructor pointer before the initialization of key data structures is complete.
📍 영향받는 시스템
PHP 4.x (up to 4.3.7) 및 PHP 5.x (up to 5.0.0RC3)
⚔️ 공격 벡터
원격에서 조작된 요청을 보내 메모리 제한 오류를 강제로 발생시키고 메모리 포인터를 조작함
🛡️ 대응 방법
PHP 버전을 4.3.8 또는 5.0.0RC4 이상으로 업데이트하고 register_globals 설정을 Off로 변경
🔧 검증 코드
명령어 실행 결과로 해당 PHP 버전이 출력되면 취약한 버전이 설치된 상태입니다.
php -v | grep -E 'PHP (4\.[0-3]\.[0-7]|5\.0\.0RC[1-3])'