🇰🇷 한글 설명
PHP 5.5.22 이전 및 5.6.x 5.6.6 이전 버전의 ext/libxml/libxml.c에서 PHP-FPM 사용 시 libxml_disable_entity_loader 설정이 스레드 간에 격리되지 않아 XXE 및 XEE 공격이 가능합니다. 악의적인 XML 문서를 통해 원격 공격자가 엔티티 확장 공격을 수행할 수 있습니다.
💡 쉬운 설명
PHP의 XML 처리 기능에서 보안 설정이 여러 요청 간에 제대로 분리되지 않아 특수하게 조작된 XML 파일로 공격할 수 있습니다. 이를 통해 서버의 민감한 파일 접근이나 서비스 마비가 가능합니다.
🇺🇸 원문 (English)
ext/libxml/libxml.c in PHP before 5.5.22 and 5.6.x before 5.6.6, when PHP-FPM is used, does not isolate each thread from libxml_disable_entity_loader changes in other threads, which allows remote attackers to conduct XML External Entity (XXE) and XML Entity Expansion (XEE) attacks via a crafted XML document, a related issue to CVE-2015-5161.
📍 영향받는 시스템
PHP 5.5.0~5.5.21, PHP 5.6.0~5.6.5 (PHP-FPM 사용 시)
⚔️ 공격 벡터
공격자가 악의적인 XML 문서를 웹 애플리케이션에 전송하여 외부 엔티티 로드 또는 무한 엔티티 확장으로 서버 자원 고갈 또는 정보 유출 유도
🛡️ 대응 방법
PHP를 5.5.22 이상 또는 5.6.6 이상으로 업그레이드하거나, 임시 조치로 libxml_disable_entity_loader(true) 설정을 모든 요청에서 명시적으로 호출
🔧 검증 코드
VULNERABLE 출력 시 취약한 버전이며, PATCHED 출력 시 패치된 버전입니다. 설치된 PHP 버전을 확인하여 5.5.22 이상 또는 5.6.6 이상인지 검증하세요.
php -v | grep -E 'PHP 5\.(5\.(2[0-1]|[0-1][0-9])|6\.[0-5])' && echo 'VULNERABLE' || echo 'PATCHED'