🇰🇷 한글 설명
svg-sanitizer 1.1.0 이상 1.1.1 미만 버전에는 SVG 입력이 닫히지 않은 태그로 끝날 때 서비스 거부(DoS)가 발생하는 취약점이 있습니다. 원격 공격자가 잘린 SVG 입력을 제출하면 PHP 8에서 처리되지 않은 ValueError가 발생해 요청이 실패합니다.
💡 쉬운 설명
SVG 파일 처리 과정에서 잘린 입력을 받으면 프로그램이 오류로 멈춥니다. 공격자는 이를 이용해 해당 서비스의 요청 처리를 반복적으로 실패시킬 수 있습니다.
🇺🇸 원문 (English)
svg-sanitizer from 1.1.0 before 1.1.1 contains a denial of service vulnerability that allows remote attackers to crash requests by submitting SVG input ending inside an unclosed tag. Attackers can upload truncated input like a single '<' to trigger an uncaught ValueError from strpos() in hasElementWithTooManyAttributes() or hasInternalDtdSubset() on PHP 8, failing the request.
📍 영향받는 시스템
svg-sanitizer 1.1.0 이상 1.1.1 미만을 사용하는 PHP 8 기반 애플리케이션
⚔️ 공격 벡터
원격에서 '<' 한 글자 등 닫히지 않은 태그로 끝나는 잘린 SVG 데이터를 업로드하여 요청을 실패시킴
🛡️ 대응 방법
svg-sanitizer를 1.1.1 이상으로 업데이트
🔧 검증 코드
출력된 설치 버전이 1.1.0 이상 1.1.1 미만이면 취약하며, 1.1.1 이상이면 패치된 상태입니다.
composer show enshrined/svg-sanitizer 2>/dev/null | grep -E 'versions'