Description
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 (2)
Core 2
Core References
Vendor Advisory x_refsource_confirm
https://github.com/rack/rack/security/advisories/GHSA-whrj-4476-wvmp
Patch x_refsource_misc
https://github.com/rack/rack/commit/f2f225f297b99fbee3d9f51255d41f601fc40aff
Scores
CVSS v3
5.4
EPSS
0.0003
EPSS Percentile
6.9%
Attack Vector
NETWORK
CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N
CISA SSVC
Vulnrichment
Exploitation
none
Automatable
no
Technical Impact
partial
Details
CWE
CWE-79
Status
published
Products (2)
rack/rack
< 2.2.22
rubygems/rack
0 - 2.2.22RubyGems
Published
Feb 18, 2026
Tracked Since
Feb 18, 2026