🇰🇷 한글 설명
PHP 5.2~5.3 초기 버전의 parse_str, preg_match, unpack, pack 함수와 ZEND opcode들에서 발생하는 취약점으로, 사용자 정의 인터럽트를 통해 내부 함수 처리 중 메모리 내용을 노출하거나 메모리 손상을 유발합니다. Call-time pass by reference 기능과 관련된 벡터들이 포함됩니다.
💡 쉬운 설명
PHP의 특정 함수들이 비정상적 방식으로 호출될 때 프로그램 메모리 정보가 유출되거나 손상될 수 있습니다. PHP 5.2와 5.3 초기 버전의 내부 처리 결함입니다.
🇺🇸 원문 (English)
The (1) parse_str, (2) preg_match, (3) unpack, and (4) pack functions; the (5) ZEND_FETCH_RW, (6) ZEND_CONCAT, and (7) ZEND_ASSIGN_CONCAT opcodes; and the (8) ArrayObject::uasort method in PHP 5.2 through 5.2.13 and 5.3 through 5.3.2 allow context-dependent attackers to obtain sensitive information (memory contents) or trigger memory corruption by causing a userspace interruption of an internal function or handler. NOTE: vectors 2 through 4 are related to the call time pass by reference feature.
📍 영향받는 시스템
PHP 5.2.0-5.2.13, PHP 5.3.0-5.3.2
⚔️ 공격 벡터
parse_str/preg_match/unpack/pack 함수 또는 ZEND opcode 실행 중 의도적 인터럽트로 메모리 접근
🛡️ 대응 방법
PHP 5.2.14 이상 또는 PHP 5.3.3 이상으로 업그레이드
🔧 검증 코드
명령어 결과가 나타나면 취약 버전, 없으면 안전 버전
php -v | grep -oE '(5\.2\.(1[0-3]|[0-9])|5\.3\.[0-2])'