Skip to main content
← All vulnerabilities
CVE-2026-29074GHSA-XPQW-6GX7-V673

SVGO: DoS through entity expansion in DOCTYPE (Billion Laughs)

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 2.8.1, 3.3.3, 4.0.1
None on Exploit-DB, Metasploit or GitHub
  • Exploitation: none
  • Automatable: yes
  • Technical impact: partial

Summary

SVGO, short for SVG Optimizer, is a Node.js library and command-line application for optimizing SVG files. From version 2.1.0 to before version 2.8.1, from version 3.0.0 to before version 3.3.3, and before version 4.0.1, SVGO accepts XML with custom entities, without guards against entity expansion or recursion. This can result in a small XML file (811 bytes) stalling the application and even crashing the Node.js process with JavaScript heap out of memory. This issue has been patched in versions 2.8.1, 3.3.3, and 4.0.1.

Timeline

  1. CVE published
  2. CISA SSVC assessment

    Exploitation: none · Automatable: yes · Technical impact: partial

  3. Record last updated

Affected versions

  • svg svgo

    From 2.1.0 · fixed in 2.8.1; From 3.0.0 · fixed in 3.3.3

  • svgonpm

    From 2.1.0 · fixed in 2.8.1

  • svgonpm

    From 3.0.0 · fixed in 3.3.3

  • svgonpm

    From 4.0.0 · fixed in 4.0.1

References 1

GitHub · svg/svgo