🇰🇷 한글 설명
PHP 5.3.7 이전 버전에서 메모리 할당 함수(malloc, calloc, realloc)의 반환값을 제대로 검증하지 않아 NULL 포인터 역참조 또는 버퍼 오버플로우가 발생할 수 있습니다. 공격자가 함수 인자에 임의 값을 전달하여 서비스 거부 또는 임의 코드 실행이 가능합니다.
💡 쉬운 설명
PHP가 메모리 할당 요청이 실패했을 때를 제대로 처리하지 않아 프로그램이 충돌하거나 해킹될 수 있습니다. 공격자가 특정 입력값을 보내면 이 취약점을 악용할 수 있습니다.
🇺🇸 원문 (English)
PHP before 5.3.7 does not properly check the return values of the malloc, calloc, and realloc library functions, which allows context-dependent attackers to cause a denial of service (NULL pointer dereference and application crash) or trigger a buffer overflow by leveraging the ability to provide an arbitrary value for a function argument, related to (1) ext/curl/interface.c, (2) ext/date/lib/parse_date.c, (3) ext/date/lib/parse_iso_intervals.c, (4) ext/date/lib/parse_tz.c, (5) ext/date/lib/timelib.c, (6) ext/pdo_odbc/pdo_odbc.c, (7) ext/reflection/php_reflection.c, (8) ext/soap/php_sdl.c, (9) ext/xmlrpc/libxmlrpc/base64.c, (10) TSRM/tsrm_win32.c, and (11) the strtotime function.
📍 영향받는 시스템
PHP 5.3.7 이전 모든 버전 (curl, date, PDO_ODBC, Reflection, SOAP, XML-RPC 확장 포함)
⚔️ 공격 벡터
함수 인자로 임의 값을 전달하여 메모리 할당 실패를 유발하고 NULL 포인터 역참조 또는 버퍼 오버플로우 발생
🛡️ 대응 방법
PHP를 5.3.7 이상으로 업그레이드
🔧 검증 코드
표시되는 PHP 버전이 5.3.7 이상이면 취약점이 해결되었으며, 5.3.7 미만이면 즉시 업그레이드 필요
php -v | grep -oP '\d+\.\d+\.\d+' | head -1