Read the docs
TI-2026-51734 Aliases CVE-2026-73650GHSA-2p49-hgcm-8545

SVGO: removeScripts plugin leaves some executable scripts intact

Priority HIGH 69CWE-184Published · Updated

Key facts

Attack vector
Network
Privileges required
None
User interaction
Required
Attack complexity
Low
Impact type
Cross-site scripting
Confidentiality · integrity · availability
High · Low · None
Fix status
Fixed

Attack profile from CVSS 3.1 · CNA. Fix status from CNA and GitHub. Impact type from CWE-79.

Summary

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.3, 3.3.4, and 4.0.2, the removeScripts plugin, named removeScriptElement in versions 1 through 3, can leave executable content in optimized SVGs because it does not remove namespaced or prefixed script elements such as <svg:script> and, in versions 3 and 4, matches JavaScript URIs case sensitively. Applications that process untrusted SVG input with this plugin enabled and serve the result can allow scripts to execute when another user opens the SVG, exposing local storage or cookies. This issue is fixed in versions 2.8.3, 3.3.4, and 4.0.2.

Why it matters now

Exploitation Proof of concept CISA SSVC · not in CISA KEV
EPSS 0.00435 37th percentileScored 2026-11-07
Fix Fixed svgo (svg): 2.8.3, 3.3.4, 4.0.2svgo (npm): 2.8.3, 3.3.4, 4.0.2

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
Poc
Automatable
No
Technical impact
Partial

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
svgsvgo1.0.0 to before 2.8.3; 3.0.0 to before 3.3.4; 4.0.0 to before 4.0.22.8.3, 3.3.4, 4.0.2Patch availableCNA
—svgo (npm)1.0.0 to before 2.8.32.8.3Patch availableGHSA-2p49-hgcm-8545
—svgo (npm)3.0.0 to before 3.3.43.3.4Patch availableGHSA-2p49-hgcm-8545
—svgo (npm)4.0.0 to before 4.0.24.0.2Patch availableGHSA-2p49-hgcm-8545
  • svgo Vendorsvg Affected 1.0.0 to before 2.8.3; 3.0.0 to before 3.3.4; 4.0.0 to before 4.0.2 Fixed in 2.8.3, 3.3.4, 4.0.2 Patch available CNA
  • svgo (npm) Vendor— Affected 1.0.0 to before 2.8.3 Fixed in 2.8.3 Patch available GHSA-2p49-hgcm-8545
  • svgo (npm) Vendor— Affected 3.0.0 to before 3.3.4 Fixed in 3.3.4 Patch available GHSA-2p49-hgcm-8545
  • svgo (npm) Vendor— Affected 4.0.0 to before 4.0.2 Fixed in 4.0.2 Patch available GHSA-2p49-hgcm-8545

Remediation

  • Fix · CNA svgo (svg) Fixed in 2.8.3, 3.3.4, 4.0.2
  • Fix · GHSA-2p49-hgcm-8545 svgo (npm) Fixed in 2.8.3 Advisory →
  • Fix · GHSA-2p49-hgcm-8545 svgo (npm) Fixed in 3.3.4 Advisory →
  • Fix · GHSA-2p49-hgcm-8545 svgo (npm) Fixed in 4.0.2 Advisory →

Timeline

  1. 2026-10-02 Threatist record created from CVE-2026-73650
  2. 2026-10-03 Alias added: GHSA-2p49-hgcm-8545

References

  • TI-2026-57981 SVGO: removeScripts allows executable links through namespace and control-character bypasses CVSS 3.1HIGH 8.2
  • TI-2026-57980 SVGO: removeScripts incompletely sanitizes executable HTML in SVG foreignObject elements CVSS 3.1MEDIUM 6.1

Sources