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
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| rack | rack | < 2.2.22, >= 3.0.0.beta1, < 3.1.20, >= 3.2.0, < 3.2.5 | — |
Fixed in Linux distributions
Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.
Debian
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Debian 14 | ruby-rack | 3.2.5-1 | — |
| Debian 13 | ruby-rack | 3.1.20-0+deb13u1 | DSA-6180-1 |
| Debian 12 | ruby-rack | 2.2.22-0+deb12u1 | DSA-6180-1 |
| Debian 11 | ruby-rack | 2.1.4-3+deb11u5 | DLA-4505-1 |
Ubuntu
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu 26.10 | ruby-rack | 3.2.4-1ubuntu1 | — |
| Ubuntu 26.04 LTS | ruby-rack | 3.2.4-1ubuntu1 | — |
| Ubuntu 25.10 | ruby-rack | 3.1.16-0.1ubuntu0.2 | — |
| Ubuntu 24.04 LTS | ruby-rack | 2.2.7-1ubuntu0.6 | — |
Show 5 more (older releases, extended support, other products)Fewer releases
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu Pro 22.04 LTS | ruby-rack | 2.1.4-5ubuntu1.2+esm2 | — |
| Ubuntu Pro 20.04 LTS | ruby-rack | 2.0.7-2ubuntu0.1+esm9 | — |
| Ubuntu Pro 18.04 LTS | ruby-rack | No fix yet | — |
| Ubuntu Pro 16.04 LTS | ruby-rack | No fix yet | — |
| Ubuntu Pro 14.04 LTS | ruby-rack | No fix yet | — |
openSUSE
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| openSUSE Tumbleweed | rubygem-rack-2.2 | 2.2.22-1.1 | openSUSE-SU-2026:10286-1 |
Wolfi
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Wolfi rolling | kube-fluentd-operator | 1.18.2-r60 | — |
| Wolfi rolling | logstash-9.3 +2 | 9.3.1-r1 | — |
| Wolfi rolling | ruby3.2-rack-2.2 +3 | 2.2.22-r0 | — |
| Wolfi rolling | ruby3.2-rails-8.1 +2 | 8.1.2-r1 | — |
| Wolfi rolling | ruby3.3-rails-8.1 | 8.1.2-r2 | — |
Affected packages
| Ecosystem | Package | Affected | Fixed | Record |
|---|---|---|---|---|
| RubyGems | rack | < 2.2.22 | 2.2.22 | GHSA-mxw3-3hh2-x2mh |
| RubyGems | rack | >= 3.0.0.beta1, < 3.1.20 | 3.1.20 | GHSA-mxw3-3hh2-x2mh |
| RubyGems | rack | >= 3.2.0, < 3.2.5 | 3.2.5 | GHSA-mxw3-3hh2-x2mh |
Advisories 4
- WID-SEC-2026-0881 IBM License Metric Tool: Mehrere Schwachstellen BSI CERT-Bund (WID) · Mar 26, 2026
- DSA-6180-1 ruby-rack - security update Debian Security (DSA / DLA) · Mar 26, 2026
- openSUSE-SU-2026:10286-1 ruby4.0-rubygem-rack-2.2-2.2.22-1.1 on GA media SUSE / openSUSE Security Updates · Mar 23, 2026
- DLA-4505-1 ruby-rack - security update Debian Security (DSA / DLA) · Mar 23, 2026