🔍 CVE-2007-1889

7.5
CVSS Score
HIGH
2007-04-06
2026-04-23 00:35
✅ 완료

🇰🇷 한글 설명

PHP 5.2.0의 Zend Memory Manager에서 발견된 정수 부호 오류로, _zend_mm_alloc_int 함수의 잘못된 signed long 캐스트로 인해 발생합니다. HTTP SOAP 클라이언트나 msg_receive 함수에 최대 양의 정수값을 전달하여 메모리 할당 검증을 우회하고 임의의 코드 실행이 가능합니다.

💡 쉬운 설명

PHP에서 매우 큰 숫자로 메모리를 요청할 때 보안 검사 로직의 계산 오류가 발생합니다. 이 오류를 악용하면 해커가 서버에서 원하는 코드를 실행할 수 있습니다.

🇺🇸 원문 (English)

Integer signedness error in the _zend_mm_alloc_int function in the Zend Memory Manager in PHP 5.2.0 allows remote attackers to execute arbitrary code via a large emalloc request, related to an incorrect signed long cast, as demonstrated via the HTTP SOAP client in PHP, and via a call to msg_receive with the largest positive integer value of maxsize.

📍 영향받는 시스템

PHP 5.2.0 및 일부 이전 5.x 버전

⚔️ 공격 벡터

SOAP 요청 또는 msg_receive 함수 호출 시 maxsize 매개변수에 2147483647 같은 정수 최댓값을 설정하여 메모리 할당 오류 유발

🛡️ 대응 방법

PHP 5.2.1 이상으로 업그레이드 또는 SOAP/메시지 매개변수에 대한 입력 검증 강화

🔧 검증 코드

PHP 버전이 5.2.0이면 취약, 5.2.1 이상이면 패치되었음을 의미합니다.

Shell / Script
php -v 2>/dev/null | grep -oP 'PHP \K[0-9]+\.[0-9]+\.[0-9]+'

📊 CVSS Vector String

CVSS Vector
AV:N/AC:L/Au:N/C:P/I:P/A:P

💻 영향받는 소프트웨어

PHP