🔍 CVE-2026-84370

8.2
CVSS Score
HIGH
2026-09-01
2026-09-09 21:09
✅ 완료

🇰🇷 한글 설명

SVG 최적화 라이브러리인 SVGO의 특정 버전에서 removeScripts 플러그인이 실행 가능한 링크를 불완전하게 필터링하는 취약점이 발견되었습니다. 공격자가 특수하게 조작된 네임스페이스 접두사나 제어 문자를 포함한 SVG 파일을 제공할 경우, 브라우저에서 악성 스크립트가 실행될 수 있습니다.

💡 쉬운 설명

SVG 이미지 파일 안에 숨겨진 악성 링크를 삭제하는 기능이 완벽하지 않아 발생하는 문제입니다. 해커가 만든 파일을 열면 사용자의 개인정보가 유출되거나 웹사이트가 조작될 위험이 있습니다.

🇺🇸 원문 (English)

SVGO, short for SVG Optimizer, is a Node.js library and command-line application for optimizing SVG files. From version 1.0.0 until versions 2.8.4, 3.3.5, and 4.1.0, the opt-in removeScripts plugin, named removeScriptElement in versions 2 and 3, incompletely filters executable links in plugins/removeScripts.js and lib/svgo/tools.js. The plugin does not recognize namespace-prefixed SVG anchor elements such as svg:a with href or namespaced *:href values, and it does not remove ASCII tab, line-feed, or carriage-return characters before checking URL schemes. Browsers remove those characters before parsing a scheme, allowing an executable link to pass the plugin's check. When an application processes attacker-controlled SVG input and serves the result in an active browser context, a victim who activates the surviving link can execute script in the SVG's origin, expose data, modify content, or perform actions as the victim. This issue is fixed in versions 2.8.4, 3.3.5, and 4.1.0.

📍 영향받는 시스템

SVGO 1.0.0 ~ 2.8.4 미만, 3.3.5 미만, 4.1.0 미만 버전

⚔️ 공격 벡터

조작된 SVG 파일을 업로드하거나 처리하게 하여 브라우저에서 악성 스크립트 실행 유도

🛡️ 대응 방법

SVGO를 최신 버전(2.8.4, 3.3.5 또는 4.1.0 이상)으로 업데이트

🔧 검증 코드

출력된 결과에서 svgo의 버전을 확인하여 취약한 버전 범위에 해당하는지 체크

Shell / Script
npm list svgo

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

Node.js