🇰🇷 한글 설명
PHP의 PHAR 아카이브 파싱 함수에서 발생하는 off-by-one 에러로, 조작된 PHAR 파일의 별칭 불일치를 통해 메모리 손상을 유발하고 임의 코드 실행이 가능한 취약점입니다.
💡 쉬운 설명
PHP가 특수하게 조작된 파일 압축본을 처리할 때 메모리 계산 실수로 인해 공격자가 악의적인 명령을 실행할 수 있습니다. 웹 서버가 이 취약한 PHP 버전을 사용하면 위험합니다.
🇺🇸 원문 (English)
Off-by-one error in the phar_parse_pharfile function in ext/phar/phar.c in PHP before 5.6.30 and 7.0.x before 7.0.15 allows remote attackers to cause a denial of service (memory corruption) or possibly execute arbitrary code via a crafted PHAR archive with an alias mismatch.
📍 영향받는 시스템
PHP 5.6.30 이전, PHP 7.0.x 버전 중 7.0.15 이전 (ext/phar 모듈 포함)
⚔️ 공격 벡터
원격 공격자가 특수 조작된 PHAR 아카이브 파일을 웹 서버에 업로드 또는 전달하여 DoS 또는 RCE 유발
🛡️ 대응 방법
PHP를 5.6.30 이상 또는 7.0.15 이상으로 업그레이드, 또는 ext/phar 모듈 비활성화
🔧 검증 코드
PHP 버전이 5.5, 5.6.x(30 미만), 7.0.x(15 미만)이면 취약, 그 외는 패치됨
php -v 2>/dev/null | grep -E 'PHP (5\.[0-5]\.|7\.0\.[0-9]([^0-9]|$))' && echo 'VULNERABLE' || echo 'PATCHED'