cve.bz

CVE-2026-126208

Loofah: SVG `<textPath>` and `<mpath>` bypass local-reference restriction

4.7 mediumFix available

Medium (4.7) in flavorjones loofah. Fixed in loofah 2.25.3.

On this page
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.

Severity

CVSS 3.1

4.7 medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:N/A:N
CWEs
CWE-178 Improper Handling of Case Sensitivity
CWE-184 Incomplete List of Disallowed Inputs
Published
Modified
Assigned by
GitHub_M (CNA)
NVD analysis
Awaiting analysis
Record from
the NVD, synced

Ask an AI about this CVE

Show the promptExplain CVE-2026-126208 for an engineer deciding whether to act. Use https://cve.bz/api/public/cves/CVE-2026-126208?via=ask-ai-copy and https://cve.bz/cve/CVE-2026-126208?via=ask-ai-copy as the source of truth: what is affected and which versions fix it, whether it is in CISA KEV, public exploits, and its EPSS (an internet-wide 30-day estimate of exploitation activity, not a forecast for my systems). If they give no fixed versions, use the CVE record https://cveawg.mitre.org/api/cve/CVE-2026-126208 or the vendor advisory, not third-party mirrors. Tell me how to check whether I am affected and how to verify a fix. Cite the sources and say where they are uncertain.

Opens a third-party assistant; its answer is its own, not cve.bz's. The prompt holds only this CVE's id and public links.

Badge for a README or a site

CVE-2026-126208

An image that stays current: it is drawn from the data each time it is fetched (a host that proxies images, as GitHub does, may show its copy for a while). Markdown:

[![CVE-2026-126208](https://cve.bz/cve/badge/CVE-2026-126208.svg)](https://cve.bz/cve/CVE-2026-126208)

HTML:

<a href="https://cve.bz/cve/CVE-2026-126208"><img src="https://cve.bz/cve/badge/CVE-2026-126208.svg" alt="CVE-2026-126208"></a>

Affected

Versions

From the CNA's record in the CVE List.

ProductAffected
flavorjones loofah< 2.25.3

Packages (OSV)

AdvisoryEcosystemPackageAffectedFixed in
GHSA-345x-3rq2-jfrmRubyGemsloofah<2.25.32.25.3

Attack patterns (CAPEC)

  • CAPEC-3 Using Leading 'Ghost' Character Sequences to Bypass Input Filters Likelihood: Medium · Severity: Medium
  • CAPEC-6 Argument Injection Likelihood: High · Severity: High
  • CAPEC-15 Command Delimiters Likelihood: High · Severity: High
  • CAPEC-43 Exploiting Multiple Input Interpretation Layers Likelihood: Medium · Severity: High
  • CAPEC-71 Using Unicode Encoding to Bypass Validation Logic Likelihood: Medium · Severity: High
  • CAPEC-73 User-Controlled Filename Likelihood: High · Severity: High
  • CAPEC-85 AJAX Footprinting Likelihood: High · Severity: Low
  • CAPEC-120 Double Encoding Likelihood: Low · Severity: Medium
  • CAPEC-182 Flash Injection Likelihood: High · Severity: Medium

The attack patterns MITRE's CAPEC relates to this record's weaknesses, as MITRE names them. Credits.

References

Check your stackJSON