🇰🇷 한글 설명
PHP의 PECL zip 확장자에서 zip:// URL 래퍼가 safemode와 open_basedir 보안 검사를 구현하지 않아 발생한 취약점입니다. 원격 공격자가 이를 악용하여 접근 권한 제한이 있는 디렉토리 외부의 ZIP 아카이브를 읽을 수 있습니다. PHP 4.4.7 이전과 5.2.0, 5.2.1 버전이 영향을 받습니다.
💡 쉬운 설명
PHP에서 ZIP 파일을 다루는 기능에 보안 검사가 빠져있었던 문제입니다. 이를 악용하면 원래 접근할 수 없어야 하는 ZIP 파일들을 인터넷을 통해 읽을 수 있었습니다.
🇺🇸 원문 (English)
The zip:// URL wrapper provided by the PECL zip extension in PHP before 4.4.7, and 5.2.0 and 5.2.1, does not implement safemode or open_basedir checks, which allows remote attackers to read ZIP archives located outside of the intended directories.
📍 영향받는 시스템
PHP 4.4.7 이전, PHP 5.2.0, PHP 5.2.1 (PECL zip 확장자 포함)
⚔️ 공격 벡터
zip:// 프로토콜 핸들러를 사용하여 open_basedir 제한을 우회한 후 임의의 ZIP 아카이브 읽기
🛡️ 대응 방법
PHP를 4.4.7 이상(4.x) 또는 5.2.2 이상(5.x)으로 즉시 업그레이드
🔧 검증 코드
현재 PHP 버전이 출력됨. SAFE면 패치됨, VULNERABLE이면 즉시 업그레이드 필요
php -v | grep -oE 'PHP [0-9]+\.[0-9]+\.[0-9]+' | awk '{split($2,a,"."); if((a[1]==4 && a[3]>=7) || (a[1]==5 && a[2]>=2 && a[3]>=2) || a[1]>=6) print "SAFE"; else print "VULNERABLE"}'