CVE-2026-126208 json
Loofah: SVG `<textPath>` and `<mpath>` bypass local-reference restriction
published 13d ago modified 2d ago also EUVD-2026-124715 , GHSA-345x-3rq2-jfrm
- cvss
- 4.7
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.4%
- EPSS 0.4% chance of exploitation in 30 days, percentile 30%
- public exploits
- 0
- none known
Summary
Loofah is a general library for manipulating and transforming HTML/XML documents and fragments, built on top of Nokogiri. Prior to 2.25.3, Loofah's SVG_ALLOW_LOCAL_HREF safelist lists textPath with lowercase spelling that does not match the HTML5 parser's element name and omits mpath, so external href and xlink:href values on those elements survive sanitization. Firefox fetches the attacker-chosen URL when a viewer renders the content, which can disclose the viewer's IP address, user agent, referrer, and access to hosts routable only from the viewer's network. Chrome and WebKit do not fetch these references, and the impact is a network request rather than script execution. The rails-html-sanitizer PermitScrubber reuses the affected safelist when SVG elements are permitted. This issue is fixed in version 2.25.3.
Patch / fix
- rubygems loofah 2.25.3
- github.com/flavorjones/loofah@cdd6ff7 commit
- github.com/flavorjones/loofah#324 pull request
- github.com/flavorjones/loofah/releases/tag/v2.25.3 release
Is CVE-2026-126208 in your dependencies? Fencer shows which of your repositories are affected as soon as an advisory lands, and opens the fix as a pull request.
Check with FencerCISA SSVC
- Exploitation
- none
- Automatable
- no
- Technical impact
- partial
- Assessed
- 2d ago
Exploit prediction
0.37% chance of exploitation in the next 30 days, higher than 30% of all scored CVEs (FIRST EPSS, 2026-11-14).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 4.7 | CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:N/A:N |
| GitHub | 3.1 | 4.7 | CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:N/A:N |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| rubygems | loofah | <2.25.3 |
2.25.3 |
Affected products
- flavorjones loofah
Classification
References
-
github.com
/flavorjones/loofah/pull/324
web
-
github.com
/flavorjones/loofah/commit/cdd6ff7fb51998eb181bd2da925ddbcfcc8a3b96
web
-
github.com
/flavorjones/loofah/security/advisories/GHSA-345x-3rq2-jfrm
web, advisory
-
github.com
/flavorjones/loofah/releases/tag/v2.25.3
web
-
github.com
/flavorjones/loofah
package
-
github.com
/rubysec/ruby-advisory-db/blob/master/gems/loofah/GHSA-345x-3rq2-jfrm.yml
web
Sources
- CVE List CVE-2026-126208
- GitHub Advisory GHSA-345x-3rq2-jfrm
- NVD CVE-2026-126208
- Maintainer advisory GHSA-345x-3rq2-jfrm
Fencer Intel 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.
The maintainers of flavorjones/loofah published their own advisory on GitHub. Reviewed sources take precedence over it.