| Name | CVE-2026-22860 |
| 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. |
| Source | CVE (at NVD; CERT, ENISA, LWN, oss-sec, fulldisc, Debian ELTS, Red Hat, Ubuntu, Gentoo, SUSE bugzilla/CVE, GitHub advisories/code/issues, web search, more) |
The table below lists information on source packages.
| Source Package | Release | Version | Status |
|---|---|---|---|
| ruby-rack (PTS) | bullseye | 2.1.4-3+deb11u2 | vulnerable |
| bullseye (security) | 2.1.4-3+deb11u4 | vulnerable | |
| bookworm, bookworm (security) | 2.2.20-0+deb12u1 | vulnerable | |
| trixie (security), trixie | 3.1.18-1~deb13u1 | vulnerable | |
| forky | 3.1.18-1 | vulnerable | |
| sid | 3.2.4-1 | vulnerable |
The information below is based on the following data on fixed versions.
| Package | Type | Release | Fixed Version | Urgency | Origin | Debian Bugs |
|---|---|---|---|---|---|---|
| ruby-rack | source | (unstable) | (unfixed) |
https://github.com/rack/rack/security/advisories/GHSA-mxw3-3hh2-x2mh
Fixed by: https://github.com/rack/rack/commit/75c5745c286637a8f049a33790c71237762069e7 (main)
Fixed by: https://github.com/rack/rack/commit/f9bde3bc2dde2771185ac1a7b7602a4d9fa0a0d8 (v3.2.5)
Fixed by: https://github.com/rack/rack/commit/48e90303ea09cdcf5091104c1ffc94a2f74e2c5b (v3.1.20)
Fixed by: https://github.com/rack/rack/commit/a5725c031b2717758851f1eadd9b9dfe7555745a (v2.2.22)