Description
Rack provides an interface for developing web applications in Ruby. Prior to versions 2.2.13, 3.0.14, and 3.1.12, `Rack::Static` can serve files under the specified `root:` even if `urls:` are provided, which may expose other files under the specified `root:` unexpectedly. The vulnerability occurs because `Rack::Static` does not properly sanitize user-supplied paths before serving files. Specifically, encoded path traversal sequences are not correctly validated, allowing attackers to access files outside the designated static file directory. By exploiting this vulnerability, an attacker can gain access to all files under the specified `root:` directory, provided they are able to determine then path of the file. Versions 2.2.13, 3.0.14, and 3.1.12 contain a patch for the issue. Other mitigations include removing usage of `Rack::Static`, or ensuring that `root:` points at a directory path which only contains files which should be accessed publicly. It is likely that a CDN or similar static file server would also mitigate the issue.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| rack | rack | < 2.2.13, >= 3.0, < 3.0.14, >= 3.1, < 3.1.12 | — |
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.1.12-1 | — |
| Debian 13 | ruby-rack | 3.1.12-1 | — |
| Debian 12 | ruby-rack | 2.2.13-1~deb12u1 | DSA-5886-1 |
| Debian 11 | ruby-rack | 2.1.4-3+deb11u3 | DLA-4090-1 |
Ubuntu
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu 26.04 LTS | ruby-rack | 3.1.16-0.1 | — |
| Ubuntu 25.10 | ruby-rack | 3.1.16-0.1 | — |
| Ubuntu 25.04 | ruby-rack | 2.2.7-1.1ubuntu0.25.04.2 | USN-7366-2 |
| Ubuntu 24.04 LTS | ruby-rack | 2.2.7-1ubuntu0.2 | USN-7366-1 |
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.1+esm1 | USN-7366-1 |
| Ubuntu Pro 20.04 LTS | ruby-rack | 2.0.7-2ubuntu0.1+esm6 | USN-7366-1 |
| Ubuntu Pro 18.04 LTS | ruby-rack | 1.6.4-4ubuntu0.2+esm7 | USN-7366-1 |
| Ubuntu Pro 16.04 LTS | ruby-rack | 1.6.4-3ubuntu0.2+esm7 | USN-7366-1 |
| Ubuntu Pro 14.04 LTS | ruby-rack | 1.5.2-3+deb8u3ubuntu1~esm9 | USN-7366-1 |
Red Hat
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Red Hat Satellite Capsule 6 | python-django +1 | 4.2.19-1.el9pc | RHSA-2025:4576 |
| Red Hat Satellite Capsule 6 | python-jinja2 +1 | 3.1.5-1.el8pc | RHSA-2025:4576, RHSA-2025:3491 |
| Red Hat Satellite Capsule 6 | rubygem-rack | 2.2.13-1.el8sat | RHSA-2025:4576, RHSA-2025:3492, RHSA-2025:3491 |
| Red Hat Satellite 6 | python-django +1 | 4.2.19-1.el9pc | RHSA-2025:4576 |
| Red Hat Satellite 6 | python-jinja2 +1 | 3.1.5-1.el8pc | RHSA-2025:4576, RHSA-2025:3491 |
| Red Hat Satellite 6 | rubygem-graphql | 1.13.24-1.el8sat | RHSA-2025:4576, RHSA-2025:3492, RHSA-2025:3491 |
| Red Hat Satellite 6 | rubygem-rack | 2.2.13-1.el8sat | RHSA-2025:4576, RHSA-2025:3492, RHSA-2025:3491 |
SUSE
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| SLES 15 SP6 | rubygem-rack | 2.0.8-150000.3.26.1 | SUSE-SU-2025:0874-1 |
| SLES 15 SP5 | rubygem-rack | 2.0.8-150000.3.26.1 | SUSE-SU-2025:0874-1 |
| SLES 15 SP4 | rubygem-rack | 2.0.8-150000.3.26.1 | SUSE-SU-2025:0874-1 |
| SLES 15 SP3 | rubygem-rack | 2.0.8-150000.3.26.1 | SUSE-SU-2025:0874-1 |
openSUSE
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| openSUSE Tumbleweed | rubygem-rack-2.2 | 2.2.13-1.1 | openSUSE-SU-2026:10286-1, openSUSE-SU-2025:14876-1 |
| openSUSE Leap 15.6 | rubygem-rack | 2.0.8-150000.3.26.1 | SUSE-SU-2025:0874-1 |
| openSUSE Leap 15.6 | rubygem-rack-1_6 | 1.6.8-150000.3.3.1 | SUSE-SU-2025:0858-1 |
Wolfi
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Wolfi rolling | kube-fluentd-operator +3 | 1.18.2-r31 | — |
| Wolfi rolling | logstash-8-with-output-opensearch | 8.17.3-r2 | — |
| Wolfi rolling | ruby3.2-rack-2.2 +3 | 2.2.22-r0 | — |
Affected packages
| Ecosystem | Package | Affected | Fixed | Record |
|---|---|---|---|---|
| RubyGems | rack | < 2.2.13 | 2.2.13 | GHSA-7wqh-767x-r66v |
| RubyGems | rack | >= 3.0, < 3.0.14 | 3.0.14 | GHSA-7wqh-767x-r66v |
| RubyGems | rack | >= 3.1, < 3.1.12 | 3.1.12 | GHSA-7wqh-767x-r66v |
Advisories 14
- RHSA-2025:4576 Red Hat Security Advisory: Satellite 6.17.0 release Red Hat Security Advisories (RHSA) · Oct 16, 2026
- RHSA-2025:3491 Red Hat Security Advisory: Satellite 6.15.5.2 Async Update Red Hat Security Advisories (RHSA) · Oct 16, 2026
- RHSA-2025:3492 Red Hat Security Advisory: Satellite 6.14.4.5 Async Update Red Hat Security Advisories (RHSA) · Jul 12, 2026
- RHSA-2025:3490 Red Hat Security Advisory: Satellite 6.16.4 Async Update Red Hat Security Advisories (RHSA) · Jul 12, 2026
- USN-7366-1 ruby-rack vulnerabilities Ubuntu Security Notices (USN) · Jun 25, 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
- DSA-5886-1 ruby-rack - security update Debian Security (DSA / DLA) · Mar 9, 2026
- DLA-4090-1 ruby-rack - security update Debian Security (DSA / DLA) · Mar 9, 2026
- SUSE-SU-2025:0858-1 Security update for rubygem-rack-1_6 SUSE / openSUSE Security Updates · Feb 4, 2026
- SUSE-SU-2025:0874-1 Security update for rubygem-rack SUSE / openSUSE Security Updates · Feb 4, 2026
- USN-7366-2 ruby-rack vulnerabilities Ubuntu Security Notices (USN) · Feb 4, 2026
- WID-SEC-2025-0700 Red Hat OpenShift: Schwachstelle ermöglicht Offenlegung von Informationen BSI CERT-Bund (WID) · Jul 16, 2025
- WID-SEC-2025-0681 Red Hat Satellite: Mehrere Schwachstellen BSI CERT-Bund (WID) · Jul 16, 2025
- openSUSE-SU-2025:14876-1 ruby3.4-rubygem-rack-2.2-2.2.13-1.1 on GA media SUSE / openSUSE Security Updates · May 7, 2025