🇰🇷 한글 설명
PHP PHAR 확장의 zip 파일 파싱 함수에서 PK\x05\x06 시그니처 위치 검증 오류로 인한 취약점입니다. 특수하게 조작된 ZIP 파일을 통해 프로세스 메모리 정보 유출 또는 애플리케이션 충돌을 유발할 수 있습니다.
💡 쉬운 설명
PHP에서 ZIP 파일을 잘못 읽으면 메모리 정보가 노출되거나 서버가 중지될 수 있습니다. 악의적인 ZIP 파일을 업로드하면 공격자가 이를 악용할 수 있습니다.
🇺🇸 원문 (English)
The phar_parse_zipfile function in zip.c in the PHAR extension in PHP before 5.5.33 and 5.6.x before 5.6.19 allows remote attackers to obtain sensitive information from process memory or cause a denial of service (out-of-bounds read and application crash) by placing a PK\x05\x06 signature at an invalid location.
📍 영향받는 시스템
PHP 5.5.0~5.5.32, 5.6.0~5.6.18 (PHAR 확장 활성화된 경우)
⚔️ 공격 벡터
특수 조작된 ZIP 파일을 PHAR 확장이 처리하도록 유도하여 원격에서 메모리 읽기 또는 DoS 공격 수행
🛡️ 대응 방법
PHP를 5.5.33 이상 또는 5.6.19 이상으로 업그레이드하거나 PHAR 확장 비활성화
🔧 검증 코드
VULNERABLE이면 업데이트 필요, PATCHED이면 안전한 버전입니다.
php -v | grep -oE '5\.[56]\.[0-9]+' | awk -F. '{if($2==5 && $3<=32) print "VULNERABLE"; else if($2==6 && $3<=18) print "VULNERABLE"; else print "PATCHED"}'