CVE-2026-107380 json
enshrined/svg-sanitize: Stored XSS via DTD Entity / HTML5 Named Character Reference Collision
published 2026-10-08 31 d ago modified 2026-10-09 31 d ago also EUVD-2026-95137 , GHSA-9rjx-3jch-6vjf
- cvss
- 5.4
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.3%
- EPSS 0.3% chance of exploitation in 30 days, percentile 17%
- public exploits
- 0
- none known
Summary
savg-sanitizer is a PHP SVG/XML sanitizer. Prior to 1.0.0, svg-sanitizer's isHrefSafeValue() validates an SVG href after XML DTD entity expansion, but saveXML() serializes the original entity reference after removing the DTD declaration. A crafted entity such as Tab can appear to the sanitizer as a safe fragment prefix while HTML5 Named Character Reference resolution during inline HTML rendering later converts the surviving reference to whitespace, exposing a javascript: URL. When an application embeds the sanitized SVG inline, a user who activates the link can cause script to execute in the embedding page's origin. This issue is fixed in version 1.0.0.
Patch / fix
- packagist enshrined/svg-sanitize 1.0.0
- svg-sanitizer_project svg-sanitizer 1.0.0
CISA SSVC
- Exploitation
- none
- Automatable
- no
- Technical impact
- partial
- Assessed
- 31 d ago
Exploit prediction
0.25% chance of exploitation in the next 30 days, higher than 17% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 5.4 | CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N |
| GitHub | 3.1 | 5.4 | CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| packagist | enshrined/svg-sanitize | <1.0.0 |
1.0.0 |
Affected products
- darylldoyle svg-sanitizer
Classification
- Weakness
-
- CWE-79 Improper Neutralization of Input During Web Page Generation
References
-
github.com
/darylldoyle/svg-sanitizer/commit/23877db7e76f1e1df5c3e65ab30239219c3d2867
web
-
github.com
/darylldoyle/svg-sanitizer/security/advisories/GHSA-9rjx-3jch-6vjf
web
-
github.com
/darylldoyle/svg-sanitizer/releases/tag/1.0.0
web
-
nvd.nist.gov
/vuln/detail/CVE-2026-107380
advisory
-
github.com
/darylldoyle/svg-sanitizer
package
Sources
- CVE List CVE-2026-107380
- GitHub Advisory GHSA-9rjx-3jch-6vjf
- NVD CVE-2026-107380
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.
CPEs and fixed versions use Anchore's correction of NVD's data: Added CPE configurations because not yet analyzed by NVD.