🔍 CVE-2007-4658

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

🇰🇷 한글 설명

PHP 5.2.4 이전 및 PHP 4.4.8 이전의 money_format 함수에서 여러 개의 %i, %n 토큰을 허용하는 포맷 스트링 취약점입니다. 공격자가 특수하게 조작된 입력값을 전송하여 메모리 접근, 정보 유출, 또는 임의 코드 실행을 유발할 수 있습니다.

💡 쉬운 설명

PHP의 금액 포매팅 함수가 특수 문자를 처리할 때 보안 검사가 불충분합니다. 공격자는 이를 이용해 서버의 메모리에 있는 민감한 정보를 읽거나 악의적인 명령을 실행할 수 있습니다.

🇺🇸 원문 (English)

The money_format function in PHP 5 before 5.2.4, and PHP 4 before 4.4.8, permits multiple (1) %i and (2) %n tokens, which has unknown impact and attack vectors, possibly related to a format string vulnerability.

📍 영향받는 시스템

PHP 4.x (4.4.7 이하), PHP 5.0.x-5.2.x (5.2.3 이하)

⚔️ 공격 벡터

money_format() 함수의 포맷 파라미터에 포맷 스트링 플레이로드(%n, %x, %i 등)를 삽입하여 메모리 읽기/쓰기 유발

🛡️ 대응 방법

PHP를 4.4.8 이상 또는 5.2.4 이상으로 즉시 업그레이드하거나, 사용자 입력을 money_format()의 포맷 파라미터로 직접 사용하지 않음

🔧 검증 코드

VULNERABLE이 출력되면 취약한 PHP 버전이 설치되어 있으므로 즉시 업그레이드 필요

Shell / Script
php -v 2>/dev/null | grep -oP 'PHP \K[0-9]+\.[0-9]+\.[0-9]+' | awk -F. '{if($1<5 || ($1==5 && $2<2) || ($1==5 && $2==2 && $3<4)) print "VULNERABLE"; else if($1<4 || ($1==4 && $2<4) || ($1==4 && $2==4 && $3<8)) print "VULNERABLE"; else print "PATCHED"}'

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

PHP