🇰🇷 한글 설명
PHP 8.4.21 이전과 8.5.6 이전 버전의 DOMNode::C14N() 메서드에서 XML 데이터를 잘못 처리하여 순환 연결 리스트를 생성합니다. 이로 인해 후속 XML 처리 시 무한 루프가 발생하여 애플리케이션 거부 상태(DoS)가 발생합니다.
💡 쉬운 설명
PHP의 XML 처리 기능에서 악의적인 XML을 받으면 프로그램이 계속 반복되는 작업에 갇혀서 응답하지 않게 됩니다. 특히 웹 서버에서 사용자가 제공한 XML을 처리할 때 위험합니다.
🇺🇸 원문 (English)
In PHP versions 8.4.* before 8.4.21 and 8.5.* before 8.5.6, DOMNode::C14N() method may process the XML data incorrectly, causing a circular linked list in the data structure representing the XML document. This may cause subsequent processing of the XML document to enter infinite loop, causing denial of service in the processing application.
📍 영향받는 시스템
PHP 8.4.0 ~ 8.4.20, PHP 8.5.0 ~ 8.5.5
⚔️ 공격 벡터
악의적으로 제작된 XML 문서를 DOMNode::C14N() 메서드로 처리하도록 유도
🛡️ 대응 방법
PHP를 8.4.21 이상 또는 8.5.6 이상으로 업그레이드
🔧 검증 코드
vulnerable이 출력되면 취약한 버전, patched가 출력되면 패치된 버전입니다.
php -v 2>/dev/null | grep -oP 'PHP \K[0-9]+\.[0-9]+\.[0-9]+' | awk -F. '{if (($1==8 && $2==4 && $3<21) || ($1==8 && $2==5 && $3<6)) print "vulnerable"; else print "patched"}'