CVE-2026-126205 json
Loofah: Regular expression denial of service in the SVG local-reference check
published 13d ago modified 2d ago also EUVD-2026-124678 , GHSA-mf2j-8f84-cc9q
- cvss
- 5.3
- 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 35%
- 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, the Loofah HTML5 sanitizer checks href and xlink:href on elements in SVG_ALLOW_LOCAL_HREF with a regular expression whose line anchor and newline-matching whitespace cause an all-whitespace value to be rescanned from every line start. An attacker can submit an SVG reference element with a long multiline-whitespace attribute and consume CPU quadratically during sanitization. CRuby 3.1 and earlier and JRuby are affected, while CRuby 3.2 and later uses linear-time regular-expression matching. The default safelist reaches the vulnerable check without a configuration change. This issue is fixed in version 2.25.3.
Patch / fix
- rubygems loofah 2.25.3
- github.com/flavorjones/loofah@2f31e7f commit
- github.com/flavorjones/loofah#324 pull request
- github.com/flavorjones/loofah/releases/tag/v2.25.3 release
Is CVE-2026-126205 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 FencerExploit prediction
0.41% chance of exploitation in the next 30 days, higher than 35% of all scored CVEs (FIRST EPSS, 2026-11-14).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 5.3 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L |
| GitHub | 3.1 | 5.3 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L |
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/2f31e7fae36036c9882d3d0fae720e1014c57cd1
web
-
github.com
/flavorjones/loofah/security/advisories/GHSA-mf2j-8f84-cc9q
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-mf2j-8f84-cc9q.yml
web
Sources
- CVE List CVE-2026-126205
- GitHub Advisory GHSA-mf2j-8f84-cc9q
- NVD CVE-2026-126205
- Maintainer advisory GHSA-mf2j-8f84-cc9q
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.