🔍 CVE-2026-117540

7.5
CVSS Score
HIGH
2026-10-27
2026-10-27 11:17
✅ 완료

🇰🇷 한글 설명

svg-sanitizer 0.5.3 이상 1.1.0 미만 버전의 Sanitizer::sanitize() 함수는 PHP 태그를 제거하는 과정에서 입력 전체를 반복적으로 재검사합니다. 인증되지 않은 공격자가 겹치는 PHP 태그 여닫기가 많은 SVG를 업로드하면 이차(quadratic) 수준의 preg_replace 반복이 발생하여 워커 CPU가 수 분간 소진될 수 있습니다.

💡 쉬운 설명

이 프로그램은 SVG 이미지 파일에서 위험한 코드를 걸러내는 도구입니다. 공격자가 특수하게 조작된 이미지를 올리면 이 도구가 과도하게 계산을 반복해 서버의 CPU를 오랫동안 점유하게 만듭니다.

🇺🇸 원문 (English)

svg-sanitizer from 0.5.3 before 1.1.0 contains a denial of service vulnerability in Sanitizer::sanitize() that repeatedly rescans the whole input while stripping PHP tags. Unauthenticated attackers can upload SVGs with many overlapping PHP tag openers and closers, forcing quadratic preg_replace passes that exhaust worker CPU for minutes.

📍 영향받는 시스템

svg-sanitizer 0.5.3 이상 1.1.0 미만을 사용하는 PHP 애플리케이션

⚔️ 공격 벡터

인증 없이 다수의 중첩된 PHP 태그가 포함된 SVG 파일을 업로드하여 서버 CPU 자원을 고갈시키는 서비스 거부(DoS) 공격

🛡️ 대응 방법

svg-sanitizer를 1.1.0 이상으로 업데이트하거나, 업데이트가 어려우면 SVG 업로드 크기 및 처리 시간을 제한하고 업로드 엔드포인트에 요청 제한을 적용

🔧 검증 코드

출력된 versions 값이 1.1.0 이상이면 패치된 상태이며, 0.5.3 이상 1.1.0 미만이면 취약한 버전이므로 업데이트가 필요합니다.

Shell / Script
composer show enshrined/svg-sanitizer 2>/dev/null | grep -E 'versions'

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

PHP