🇰🇷 한글 설명
PHP의 ZipArchive::extractTo 함수에 존재하는 디렉토리 트래버설 취약점으로, 특수하게 제작된 ZIP 파일을 통해 임의의 빈 디렉토리를 생성할 수 있습니다. 영향받는 버전은 PHP 5.4.45 미만, 5.5.29 미만, 5.6.13 미만 및 HHVM 3.12.1 미만입니다.
💡 쉬운 설명
ZIP 파일을 추출할 때 경로 검증이 부족하여 원하지 않은 위치에 폴더를 만들 수 있는 문제입니다. 공격자가 악의적인 ZIP 파일을 업로드하면 서버의 임의 경로에 디렉토리 생성이 가능합니다.
🇺🇸 원문 (English)
Directory traversal vulnerability in the ZipArchive::extractTo function in ext/zip/php_zip.c in PHP before 5.4.45, 5.5.x before 5.5.29, and 5.6.x before 5.6.13 and ext/zip/ext_zip.cpp in HHVM before 3.12.1 allows remote attackers to create arbitrary empty directories via a crafted ZIP archive.
📍 영향받는 시스템
PHP 5.4 < 5.4.45, PHP 5.5 < 5.5.29, PHP 5.6 < 5.6.13, HHVM < 3.12.1
⚔️ 공격 벡터
특수하게 제작된 ZIP 아카이브를 서버에 업로드하여 extractTo 함수로 처리할 때 경로 순회(path traversal)를 이용해 임의 위치에 디렉토리 생성
🛡️ 대응 방법
PHP를 5.4.45+, 5.5.29+, 5.6.13+ 이상으로 또는 HHVM을 3.12.1+ 이상으로 업그레이드
🔧 검증 코드
현재 PHP/HHVM 버전을 확인하여 위 영향받는 버전 범위에 해당하면 취약 상태
php -v 2>/dev/null | head -1