Rack is a modular Ruby web server interface. Prior to versions 2.2.22, 3.1.20, and 3.2.5, `Rack::Directory` generates an HTML directory index where each file entry is rendered as a clickable link. If a file exists on disk whose basename starts with the `javascript:` scheme (e.g. `javascript:alert(1)`), the generated index contains an anchor whose `href` is exactly `javascript:alert(1)`. Clicking the entry executes JavaScript in the browser (demonstrated with `alert(1)`). Versions 2.2.22, 3.1.20, and 3.2.5 fix the issue.
References
| Link | Resource |
|---|---|
| https://github.com/rack/rack/commit/f2f225f297b99fbee3d9f51255d41f601fc40aff | Patch |
| https://github.com/rack/rack/security/advisories/GHSA-whrj-4476-wvmp | Exploit Mitigation Vendor Advisory |
Configurations
Configuration 1 (hide)
|
History
No history.
Information
Published : 2026-02-18 20:18
Updated : 2026-02-19 18:26
NVD link : CVE-2026-25500
Mitre link : CVE-2026-25500
CVE.ORG link : CVE-2026-25500
JSON object : View
Products Affected
rack
- rack
CWE
CWE-79
Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')
