Skip to main content
← All vulnerabilities
CVE-2026-73492GHSA-5QHF-9PHG-95M2

Loofah `allowed_uri?` does not detect `javascript:` URIs split by numeric character references without semicolons

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 2.25.2
None on Exploit-DB, Metasploit or GitHub
  • Exploitation: none
  • Automatable: no
  • Technical impact: partial

Summary

Loofah is a general library for manipulating and transforming HTML/XML documents and fragments, built on top of Nokogiri. From 2.25.0 until 2.25.2, Loofah::HTML5::Scrub.allowed_uri? does not reject javascript: or vbscript: URIs whose scheme is split by semicolon-less numeric character references such as &#58, &#9, &#10, or &#13. CGI.unescapeHTML leaves these references encoded, so allowed_uri? reports the URL safe even though a browser decodes an encoded colon or strips encoded whitespace and executes the resulting URI scheme. This issue affects only callers that pass HTML-encoded strings directly to allowed_uri?; Loofah's default sanitize() path is not affected. This issue is fixed in version 2.25.2.

Timeline

  1. CVE published
  2. CISA SSVC assessment

    Exploitation: none · Automatable: no · Technical impact: partial

  3. Record last updated

Affected versions

  • flavorjones loofah

    From 2.25.0 · fixed in 2.25.2

  • loofahRubyGems

    From 2.25.0 · fixed in 2.25.2

References 4

GitHub · flavorjones/loofah