Read the docs

Incomplete url() filtering in svg-sanitizer allows remote URL requests

Priority MEDIUM 57CWE-791Published · Updated

Key facts

Attack vector
Network
Privileges required
None
User interaction
Passive
Attack complexity
Low
Attack requirements
None
Impact type
—
Confidentiality · integrity · availability
Low · None · None
Fix status
Fixed

Attack profile from CVSS 4.0 · CNA. Fix status from CNA.

Summary

svg-sanitizer from 0.5.0 before 1.1.0 is affected by incomplete filtering of special elements (CWE-791). The sanitizer fails to remove remote URLs in url() when CSS escape sequences are used inside SVG presentation attributes such as fill. An unauthenticated remote attacker can supply an SVG file that browsers resolve to a remote URL, triggering external requests and enabling data exfiltration if a user opens the file.

Written with Claude Haiku 5.5 from the sources below · 2026-11-07

Description from the CNA

svg-sanitizer from 0.5.0 before 1.1.0 contains an incomplete filtering vulnerability that allows attackers to bypass remote URL removal by using CSS escape sequences inside url() in SVG presentation attributes. Attackers can supply SVG files with attributes like fill containing escaped slashes that browsers resolve to remote URLs, triggering external requests and enabling data exfiltration.

Why it matters now

Exploitation Proof of concept CISA SSVC · not in CISA KEV
EPSS 0.00197 9th percentileScored 2026-11-07
Fix Fixed svg-sanitizer (darylldoyle): 1.1.0

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
darylldoylesvg-sanitizer0.5.0 to before 1.1.01.1.0Patch availableCNA
  • svg-sanitizer Vendordarylldoyle Affected 0.5.0 to before 1.1.0 Fixed in 1.1.0 Patch available CNA

Remediation

Update svg-sanitizer to version 1.1.0, which fixes the flaw. The sources list no fixed version for svg-sanitizer other than 1.1.0.

Written with Claude Haiku 5.5 from the sources below · 2026-11-07

  • 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-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

  1. 2026-11-03 Threatist record created from CVE-2026-121446
  2. 2026-11-03 Alias added: GHSA-3r85-4hm6-r357
  3. 2026-11-07 CISA SSVC decision points changed
  4. 2026-11-07 Priority changed: LOW → MEDIUM

References

  • 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-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
See all 11 →

Sources