Description
Loofah is a general library for manipulating and transforming HTML/XML documents and fragments, built on top of Nokogiri. In 2.25.2, Loofah::HTML5::Scrub.allowed_uri? treats a data URI mediatype containing the HTML5 named solidus reference / as malformed and falls back to the allowed text/plain, while a browser decodes the reference and interprets the same value as text/html. An application that validates a user-controlled URL with this helper and renders the approved value in href or another browser-interpreted URI attribute can allow cross-site scripting. Rails::HTML::Sanitizer.allowed_uri? re-exports the affected helper. Loofah's default sanitize() path is not affected because Nokogiri decodes the entity before URI validation. This issue is fixed in version 2.25.3.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| flavorjones | loofah | = 2.25.2 | — |
Fixed in Linux distributions
Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.
Ubuntu
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu 26.10 | ruby-loofah | No fix yet | — |
| Ubuntu 26.04 LTS | ruby-loofah | No fix yet | — |
| Ubuntu 24.04 LTS | ruby-loofah | No fix yet | — |
| Ubuntu 22.04 LTS | ruby-loofah | No fix yet | — |
| Ubuntu 20.04 LTS | ruby-loofah | No fix yet | — |
Show 2 more (older releases, extended support, other products)Fewer releases
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu 18.04 LTS | ruby-loofah | No fix yet | — |
| Ubuntu 16.04 LTS | ruby-loofah | No fix yet | — |
Affected packages
| Ecosystem | Package | Affected | Fixed | Record |
|---|---|---|---|---|
| RubyGems | loofah | >= 2.25.2, < 2.25.3 | 2.25.3 | GHSA-jcff-cj73-4w4f |