🇰🇷 한글 설명
PHP 5.1.6 이하와 PHP 4.3.0 이전 버전의 unserialize 함수에서 배열 요소 개수로 전달된 큰 값으로 인해 정수 오버플로우가 발생합니다. Zend Engine의 ecalloc 메모리 할당 함수에서 오버플로우가 발생하여 메모리 손상을 초래합니다. 원격 공격자가 이를 악용하여 임의의 코드를 실행할 수 있습니다.
💡 쉬운 설명
PHP의 unserialize 함수가 매우 큰 배열 데이터를 처리할 때 계산 오류가 발생합니다. 웹 서버에 조작된 데이터를 보내면 서버가 완전히 장악당할 수 있습니다.
🇺🇸 원문 (English)
Integer overflow in PHP 5 up to 5.1.6 and 4 before 4.3.0 allows remote attackers to execute arbitrary code via an argument to the unserialize PHP function with a large value for the number of array elements, which triggers the overflow in the Zend Engine ecalloc function (Zend/zend_alloc.c).
📍 영향받는 시스템
PHP 5.0.0 ~ 5.1.6, PHP 4.0.0 ~ 4.2.3
⚔️ 공격 벡터
악의적인 직렬화된 배열 데이터를 포함한 HTTP 요청을 통해 원격에서 unserialize 함수에 전달
🛡️ 대응 방법
PHP를 5.1.7 이상 또는 4.3.0 이상으로 긴급 업그레이드
🔧 검증 코드
PHP 버전이 5.1.7 이상 또는 4.3.0 이상으로 표시되면 취약점이 패치된 상태
php -v | grep -oE 'PHP [0-9]+\.[0-9]+\.[0-9]+'