🇰🇷 한글 설명
PHP 7.x의 zend_alloc.c에서 open_basedir 활성화 시 대용량 메모리 재할당(realloc) 작업을 잘못 처리하여, 긴 경로명을 통해 정수 오버플로우가 발생합니다. 원격 공격자는 이를 악용하여 서비스 거부(DoS) 또는 임의 코드 실행을 유발할 수 있습니다.
💡 쉬운 설명
PHP가 매우 긴 파일 경로를 처리할 때 메모리 계산 오류로 시스템이 충돌합니다. 공격자가 웹 요청으로 긴 경로를 보내 웹서버를 중단시킬 수 있습니다.
🇺🇸 원문 (English)
Zend/zend_alloc.c in PHP 7.x before 7.0.10, when open_basedir is enabled, mishandles huge realloc operations, which allows remote attackers to cause a denial of service (integer overflow) or possibly have unspecified other impact via a long pathname.
📍 영향받는 시스템
PHP 7.0.0 ~ 7.0.9 (open_basedir 설정 활성화된 환경)
⚔️ 공격 벡터
HTTP 요청을 통해 수천 자 이상의 긴 경로명을 전송하여 메모리 오버플로우 유발
🛡️ 대응 방법
PHP를 7.0.10 이상으로 즉시 업그레이드하거나 open_basedir 설정 검토 및 비활성화 고려
🔧 검증 코드
명령어가 PHP 7.0.0~7.0.9 버전을 반환하면 취약, 7.0.10 이상이거나 출력 없음은 안전
php -v 2>/dev/null | grep -E 'PHP 7\.0\.[0-9]\b'