🇰🇷 한글 설명
PHP 5.4.x (5.4.32 이전) 및 5.5.x (5.5.16 이전)의 GD 컴포넌트에서 pathnames에 %00(null byte) 시퀀스 검증 부재로 인해, imagegd, imagegd2, imagegif, imagejpeg, imagepng, imagewbmp, imagewebp 함수를 사용하는 애플리케이션을 통해 임의의 파일 덮어쓰기가 가능한 취약점입니다.
💡 쉬운 설명
PHP 이미지 저장 함수에서 파일명 검증이 불완전해서, 특수 문자를 섞어 다른 위치의 파일을 덮어쓸 수 있습니다. 웹사이트에 이미지 업로드 기능이 있다면 공격자가 중요한 파일을 손상시킬 수 있습니다.
🇺🇸 원문 (English)
gd_ctx.c in the GD component in PHP 5.4.x before 5.4.32 and 5.5.x before 5.5.16 does not ensure that pathnames lack %00 sequences, which might allow remote attackers to overwrite arbitrary files via crafted input to an application that calls the (1) imagegd, (2) imagegd2, (3) imagegif, (4) imagejpeg, (5) imagepng, (6) imagewbmp, or (7) imagewebp function.
📍 영향받는 시스템
PHP 5.4.0~5.4.31, PHP 5.5.0~5.5.15 (GD 라이브러리 포함)
⚔️ 공격 벡터
imagegd, imagegd2, imagegif, imagejpeg, imagepng, imagewbmp, imagewebp 함수에 %00을 포함한 경로명을 전달하여 파일 경로 조작
🛡️ 대응 방법
PHP를 5.4.32 이상 또는 5.5.16 이상으로 업그레이드
🔧 검증 코드
PHP 버전을 확인하여 5.4.32 미만 또는 5.5.0~5.5.15 범위면 취약
php -v | grep -oP 'PHP \K[0-9]+\.[0-9]+\.[0-9]+'