Lookup for vulnerabilities affecting packages.
| Vulnerability_id | VCID-qz71-ek2u-8ybh |
| Summary | Loofah has improper detection of disallowed URIs via `allowed_uri?`
## Summary
`Loofah::HTML5::Scrub.allowed_uri?` does not correctly reject `javascript:` URIs when the scheme is split by HTML entity-encoded control characters such as ` ` (carriage return), ` ` (line feed), or `	` (tab).
## Details
The `allowed_uri?` method strips literal control characters before decoding HTML entities. Payloads like `java script:alert(1)` survive the control character strip, then ` ` is decoded to a carriage return, producing `java\rscript:alert(1)`.
Note that the Loofah sanitizer's default `sanitize()` path is **not affected** because Nokogiri decodes HTML entities during parsing before Loofah evaluates the URI protocol. This issue only affects direct callers of the `allowed_uri?` string-level helper when passing HTML-encoded strings.
## Impact
Applications that call `Loofah::HTML5::Scrub.allowed_uri?` to validate user-controlled URLs and then render approved URLs into `href` or other browser-interpreted URI attributes may be vulnerable to cross-site scripting (XSS).
This only affects Loofah `2.25.0`.
## Mitigation
Upgrade to Loofah >= `2.25.1`.
## Credit
Responsibly reported by HackOne user @smlee. |
| Aliases |
| 0 |
| alias |
GHSA-2j22-pr5w-6gq8 |
|
|
| Fixed_packages |
|
| Affected_packages |
|
| References |
|
| Weaknesses |
| 0 |
| cwe_id |
79 |
| name |
Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting') |
| description |
The product does not neutralize or incorrectly neutralizes user-controllable input before it is placed in output that is used as a web page that is served to other users. |
|
| 1 |
| cwe_id |
116 |
| name |
Improper Encoding or Escaping of Output |
| description |
The product prepares a structured message for communication with another component, but encoding or escaping of the data is either missing or done incorrectly. As a result, the intended structure of the message is not preserved. |
|
|
| Exploits |
|
| Severity_range_score | 0.1 - 3 |
| Exploitability | 0.5 |
| Weighted_severity | 2.7 |
| Risk_score | 1.4 |
| Resource_url | http://public2.vulnerablecode.io/vulnerabilities/VCID-qz71-ek2u-8ybh |