CVE-2026-25500 Rack's Stored XSS in Rack::Directory via javascript: filenames rendered into anchor href

Medium 5.4 Published Updated

Attackers can execute arbitrary JavaScript in victim browsers by placing files with javascript: names in directories served by Rack::Directory.

Exploited in the wild
Not known
Login needed
Any signed-in user
Attackable
Over the internet
Victim action needed
A user has to click or open something
Fix
Available

What is CVE-2026-25500?

CVE-2026-25500 is a medium-severity cross-site scripting vulnerability in rack, published on 18 Feb 2026. Any signed-in user can exploit it over the network, and only if a user opens a file or follows a link.

Official 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.

Weakness: CWE-79

Which versions are affected by CVE-2026-25500?

6 open source packages ship an affected version, including rack. It affects 1 product.

PackageAffectedFixed in
rack RubyGemsAll versions2.2.22
rack RubyGemsAll versions2.2.22
rack RubyGemsFrom 3.0.0.beta13.1.20
rack RubyGemsFrom 3.0.0.beta13.1.20
rack RubyGemsFrom 3.2.03.2.5
rack RubyGemsFrom 3.2.03.2.5

Products include Rack Rack.

How do I fix CVE-2026-25500?

Upgrade rack to a fixed version for your release line: 2.2.22, 3.1.20 or 3.2.5.

Escape output for the context it lands in and set a strict Content Security Policy. Upgrading the affected component is the real fix. More about Cross-site scripting.

Is CVE-2026-25500 being exploited?

There is no known exploitation of CVE-2026-25500 in the wild and no public exploit code.

Sources

Also known as CLEANSTART-2026-IX45302, CLEANSTART-2026-ZK59017, DEBIAN-CVE-2026-25500, GHSA-whrj-4476-wvmp, MINI-245w-r8vc-rxp3, MINI-285j-m8h2-77m4 and 21 more.

Is CVE-2026-25500 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free