CVE-2026-84369: CWE-79: Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting') in svg svgo
Description
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 and implemented in plugins/removeScripts.js, removes SVG and XHTML script elements but does not inspect executable HTML content inside SVG foreignObject elements. Event-handler attributes such as onload and onbeforetoggle, srcdoc documents, and executable URLs in the action, data, formaction, href, and src attributes can remain in attacker-controlled SVG input. When an application uses the plugin as its only protection and serves the optimized SVG in an active browser context, the payload can execute script in the viewer'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.
CVSS v3.1
Score 6.1medium
Affected software
svg
svgo
Weaknesses
AI-Powered Analysis
Machine-generated threat intelligence
Technical Analysis
The vulnerability (CVE-2026-84369) affects the SVGO library's removeScripts plugin, which is designed to remove script elements from SVG files. However, it does not inspect executable HTML content within SVG foreignObject elements, allowing event-handler attributes (e.g., onload, onbeforetoggle), srcdoc documents, and executable URLs in attributes like action, data, formaction, href, and src to remain. When an application relies solely on this plugin for protection and serves the optimized SVG in an active browser context, an attacker can inject scripts that execute in the victim's origin, potentially exposing data or modifying content. The vulnerability is addressed in SVGO versions 2.8.4, 3.3.5, and 4.1.0.
Potential Impact
Exploitation of this vulnerability can lead to cross-site scripting (XSS) attacks, allowing an attacker to execute arbitrary scripts in the context of the victim's browser origin. This can result in data exposure, content manipulation, or unauthorized actions performed on behalf of the victim. The CVSS score of 6.1 indicates a medium severity with network attack vector, low attack complexity, no privileges required, user interaction required, and impact on confidentiality and integrity but not availability.
Mitigation Recommendations
A fix is available in SVGO versions 2.8.4, 3.3.5, and 4.1.0. Users should upgrade to one of these versions or later to remediate the vulnerability. If upgrading immediately is not possible, do not rely solely on the removeScripts plugin for SVG sanitization, and consider additional input validation or sanitization measures before serving SVG content in active browser contexts.
Technical Details
- Data Version
- 5.2
- Assigner Short Name
- GitHub_M
- Date Reserved
- 2026-09-01T16:27:58.129Z
- Cvss Version
- 3.1
- State
- PUBLISHED
Threat ID: 6a973b19acd9273b492feead
Added to database: 09/01/2026, 20:52:41 UTC
Last enriched: 09/07/2026, 13:47:26 UTC
Last updated: 10/15/2026, 06:48:19 UTC
Views: 82
Community Reviews
0 reviewsCrowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.
Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.
Actions
Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.
Need more coverage?
Upgrade to Pro Console for AI refresh and higher limits.
For incident response and remediation, OffSeq services can help resolve threats faster.
Latest Threats
Check if your credentials are on the dark web
Instant breach scanning across billions of leaked records. Free tier available.