🔍 CVE-2026-107381

6.5
CVSS Score
MEDIUM
2026-10-14
2026-10-18 14:16
✅ 완료

🇰🇷 한글 설명

svg-sanitizer 1.0.0 미만 버전의 Resolver::processReferences() 함수에서 대소문자 구분 문제로 인해 보안 취약점이 발생합니다. 공격자가 xlink:HrEf와 같이 대소문자를 섞은 속성을 사용하면 sanitizer가 이를 검사에서 누락시킨 후 표준 속성으로 변환하여, 결과적으로 중첩 제한 보호 기능을 우회하고 자원 고갈 공격을 가능하게 합니다.

💡 쉬운 설명

SVG 이미지 파일의 특정 글자 대소문자를 교묘하게 바꿔서 보안 검사를 통과하는 방식입니다. 이를 통해 컴퓨터 자원을 과도하게 사용하는 파일을 만들어 시스템을 느리게 하거나 멈추게 할 수 있습니다.

🇺🇸 원문 (English)

svg-sanitizer is a PHP SVG/XML sanitizer. Prior to 1.0.0, Resolver::processReferences() in src/ElementReference/Resolver.php builds the SVG <use> reference graph with a case-sensitive href attribute predicate before cleanHrefAttributes() normalizes mixed-case names. An attacker can provide xlink:HrEf on nested <use> elements so the graph omits those references, after which the sanitizer converts the attribute to canonical xlink:href and returns the live nesting structure without applying the useNestingLimit protection. A consuming application that renders the sanitized SVG can therefore be exposed to the resource exhaustion that control is designed to prevent. This issue is fixed in version 1.0.0.

📍 영향받는 시스템

svg-sanitizer 1.0.0 미만 버전

⚔️ 공격 벡터

대소문자가 혼용된 xlink:HrEf 속성을 포함한 악성 SVG 파일을 업로드하여 중첩 제한 보호를 우회함

🛡️ 대응 방법

svg-sanitizer를 1.0.0 버전 이상으로 업데이트하십시오.

🔧 검증 코드

출력된 버전이 1.0.0 미만이면 취약한 상태이며, 1.0.0 이상이면 안전합니다.

Shell / Script
composer show svg-sanitizer | grep 'versions'

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H

💻 영향받는 소프트웨어

PHP