What’s Vulnerable › Vulnerabilities
CVE-2026-22860: Rack has a Directory Traversal via Rack:Directory
- Severity: high (CVSS 7.5 v3.1)
- Exploited in the wild: not listed in CISA KEV
- EPSS: 0.8% probability of exploitation in the next 30 days
- Public exploit or detection template: yes
- Published: 2026-02-18 · updated 2026-07-15
- Weakness: CWE-22
Description
Rack is a modular Ruby web server interface. Prior to versions 2.2.22, 3.1.20, and 3.2.5, `Rack::Directory`’s path check used a string prefix match on the expanded path. A request like `/../root_example/` can escape the configured root if the target path starts with the root string, allowing directory listing outside the intended root. Versions 2.2.22, 3.1.20, and 3.2.5 fix the issue.
Affected products
- rack: before 2.2.22; from 3.0.0 before 3.1.20; from 3.2.0 before 3.2.5 — fixed in 2.2.22, 3.1.20, 3.2.5
- Rubygems Rack: before 2.2.22; from 3.0.0.beta1 before 3.1.20; from 3.2.0 before 3.2.5; 0.1.0, 0.2.0, 0.3.0, 0.4.0, 0.9.0, 0.9.1 (+166) — fixed in 2.2.22, 3.1.20, 3.2.5
How to fix
Upgrade to a fixed version: rack 2.2.22, 3.1.20, 3.2.5; Rubygems Rack 2.2.22, 3.1.20, 3.2.5. Check the vendor advisory for mitigations.
References
- https://github.com/rack/rack/commit/75c5745c286637a8f049a33790c71237762069e7
- https://github.com/rack/rack/security/advisories/GHSA-mxw3-3hh2-x2mh
- https://access.redhat.com/security/cve/CVE-2026-22860
- https://bugzilla.redhat.com/show_bug.cgi?id=2440737
- https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-22860.json
Get alerted when CVE-2026-22860 or the next vulnerability affects your stack