svg-sanitizer ReDoS and Fail-Open via image-set CSS Stripping
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- None
- Attack complexity
- High
- Attack requirements
- Present
- Impact type
- —
- Confidentiality · integrity · availability
- None · None · High
- Fix status
- Fixed
Attack profile from CVSS 4.0 · CNA. Fix status from CNA.
Summary
darylldoyle svg-sanitizer from 1.0.0 before 1.1.0 contains a regular expression denial of service vulnerability in the image-set pattern of stripRemoteCssTokens() when removeRemoteReferences is enabled. An attacker can submit SVGs with many unclosed image-set tokens to exhaust CPU, or trigger PCRE limits that make sanitize() throw a TypeError and leave content unsanitized. The weakness is classified as CWE-754 (Improper Check for Unusual or Exceptional Conditions). CVSS 4.0 base score 8.2 (HIGH).
Written with Claude Haiku 5.5 from the sources below · 2026-11-03
Description from the CNA
darylldoyle svg-sanitizer from 1.0.0 before 1.1.0 contains a regular expression denial of service vulnerability in the image-set pattern of stripRemoteCssTokens() when removeRemoteReferences is enabled. Attackers can submit SVGs with many unclosed image-set tokens to exhaust CPU, or trigger PCRE limits causing sanitize() to throw a TypeError and leave unsanitized content.
Why it matters now
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
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| darylldoyle | svg-sanitizer | 1.0.0 to before 1.1.0 | 1.1.0 | Patch available | CNA |
- svg-sanitizer Vendordarylldoyle Affected 1.0.0 to before 1.1.0 Fixed in 1.1.0 Patch available CNA
Remediation
Upgrade svg-sanitizer to version 1.1.0 or later. Affected versions are 1.0.0 before 1.1.0.
Written with Claude Haiku 5.5 from the sources below · 2026-11-03
- Fix · CNA svg-sanitizer (darylldoyle) Fixed in 1.1.0
Fixed in the same release
Records fixed by the same vendor advisory or release, as the CNA lists them.
- Release ·
darylldoyle svg-sanitizer 1.1.0
4 records Highest priority Priority HIGH 1 HIGH, 2 MEDIUM, 1 LOW
Other records, highest priority first
- TI-2026-84328 Incomplete url() filtering in svg-sanitizer allows remote URL requestsPriority MEDIUM 57
- TI-2026-84326 Algorithmic complexity denial of service in svg-sanitizer via use referencesPriority MEDIUM 44
- TI-2026-84329 Cross-site scripting in svg-sanitizer via animateTransform on SafariPriority LOW 23
Timeline
- 2026-11-03 Threatist record created from CVE-2026-121445
- 2026-11-03 Alias added: GHSA-4rvh-48q4-5726
- 2026-11-03 CISA SSVC decision points changed
- 2026-11-03 Priority changed: MEDIUM → HIGH
References
More darylldoyle vulnerabilities
- TI-2026-81116 Quadratic CPU exhaustion in svg-sanitizer PHP tag stripping CVSS 4.0HIGH 8.7
- TI-2026-74075 Mixed-case xlink:HrEf bypasses use nesting limit in svg-sanitizer CVSS 3.1MEDIUM 6.5
- TI-2026-69645 Denial of service in enshrined/svg-sanitize via crafted SVG DTD CVSS 3.1MEDIUM 6.5
- TI-2026-84328 Incomplete url() filtering in svg-sanitizer allows remote URL requests CVSS 4.0MEDIUM 5.3
- TI-2026-81115 darylldoyle svg-sanitizer CSS Injection and Remote Reference Bypass CVSS 4.0MEDIUM 5.1
- TI-2025-34848 svg-sanitizer By-Passing Attribute Sanitization CVSS 4.0MEDIUM 5.1
Sources
- CVE-2026-121445 · CVE Program
- CVE-2026-121445 · NVD
- FIRST EPSS
- GHSA-4rvh-48q4-5726 · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences