Algorithmic complexity denial of service in svg-sanitizer via use references
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- None
- Attack complexity
- Low
- Attack requirements
- None
- Impact type
- Denial of service
- Confidentiality · integrity · availability
- None · None · High
- Fix status
- Fixed
Attack profile from CVSS 4.0 · CNA. Fix status from CNA. Impact type from CWE-400.
Summary
svg-sanitizer from 0.11.0 before 1.1.0 by darylldoyle contains an algorithmic complexity denial of service flaw in hasInfiniteLoop() and countUse() of its use reference-graph analysis. An unauthenticated remote attacker can upload a small layered SVG with fanned-out use elements, forcing exponential path enumeration that ties up PHP workers for hours. The weakness is classified as CWE-400, Uncontrolled Resource Consumption.
Written with Claude Haiku 5.5 from the sources below · 2026-11-03
Description from the CNA
svg-sanitizer from 0.11.0 before 1.1.0 contains an algorithmic complexity denial of service vulnerability in hasInfiniteLoop() and countUse() of the use reference-graph analysis. Attackers can upload a small layered SVG with 15 levels of fanned-out use elements, forcing exponential path enumeration that pins PHP workers for hours.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- Yes
- 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 | 0.11.0 to before 1.1.0 | 1.1.0 | Patch available | CNA |
- svg-sanitizer Vendordarylldoyle Affected 0.11.0 to before 1.1.0 Fixed in 1.1.0 Patch available CNA
Remediation
Upgrade svg-sanitizer to version 1.1.0, which fixes the flaw.
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-84327 svg-sanitizer ReDoS and Fail-Open via image-set CSS StrippingPriority HIGH 69
- TI-2026-84328 Incomplete url() filtering in svg-sanitizer allows remote URL requestsPriority MEDIUM 57
- 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-121444
- 2026-11-03 Alias added: GHSA-38xh-8h9r-v3mm
- 2026-11-03 CISA SSVC decision points changed
References
More darylldoyle vulnerabilities
- TI-2026-81116 Quadratic CPU exhaustion in svg-sanitizer PHP tag stripping CVSS 4.0HIGH 8.7
- TI-2026-84327 svg-sanitizer ReDoS and Fail-Open via image-set CSS Stripping CVSS 4.0HIGH 8.2
- 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
Sources
- CVE-2026-121444 · CVE Program
- CVE-2026-121444 · NVD
- FIRST EPSS
- GHSA-38xh-8h9r-v3mm · 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