🔍 CVE-2026-40301

4.7
CVSS Score
MEDIUM
2026-04-17
2026-10-26 21:10
✅ 완료

🇰🇷 한글 설명

DOMSanitizer의 sanitize() 메서드가 SVG 콘텐츠의 <style> 요소를 허용하지만 텍스트 내용을 검사하지 않아, CSS url() 참조와 @import 규칙이 필터링되지 않습니다. 정제된 SVG가 렌더링될 때 브라우저가 공격자 제어 호스트로 HTTP 요청을 자동 발생시킵니다. 버전 1.0.10에서 수정됨.

💡 쉬운 설명

SVG 파일에 숨겨진 웹 링크를 삽입하면 사용자가 그것을 볼 때 악의적인 서버로 자동 연결될 수 있습니다. 라이브러리를 버전 1.0.10 이상으로 업데이트하면 해결됩니다.

🇺🇸 원문 (English)

DOMSanitizer is a DOM/SVG/MathML Sanitizer for PHP 7.3+. Prior to version 1.0.10, DOMSanitizer::sanitize() allows <style> elements in SVG content but never inspects their text content. CSS url() references and @import rules pass through unfiltered, causing the browser to issue HTTP requests to attacker-controlled hosts when the sanitized SVG is rendered. Version 1.0.10 fixes the issue.

📍 영향받는 시스템

DOMSanitizer < 1.0.10 (PHP 7.3+)

⚔️ 공격 벡터

조작된 SVG에 <style> 내 CSS url() 또는 @import 규칙 삽입하여 사용자 브라우저가 공격자 서버로 요청 발생

🛡️ 대응 방법

DOMSanitizer를 1.0.10 이상으로 업그레이드 (composer update domsanitizer)

🔧 검증 코드

출력된 버전이 1.0.10 이상이면 안전, 미만이거나 'not found'면 업그레이드 필요

Shell / Script
composer show domsanitizer 2>/dev/null | grep -i version || grep -A 1 '"domsanitizer"' composer.lock 2>/dev/null | grep version

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

PHP