CVE-2026-22860 json
Rack has a Directory Traversal via Rack:Directory
published 2026-02-17 8 mo ago modified 2026-09-10 1 mo ago also EUVD-2026-7914 , GHSA-mxw3-3hh2-x2mh
- cvss
- 7.5
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.8%
- EPSS 0.8% chance of exploitation in 30 days, percentile 55%
- public exploits
- 0
- none known
Summary
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.
Patch / fix
- rubygems rack 2.2.22, 3.1.20, 3.2.5
- rack rack 2.2.22, 3.1.20, 3.2.5
- rack_project rack 2.2.22, 3.1.20, 3.2.5
- ruby-rack Debian 12 2.2.22-0+deb12u1
- ruby-rack Debian 13 3.1.20-0+deb13u1
- ruby-rack Debian 14 3.2.5-1
debian advisories DEBIAN-CVE-2026-22860
- ruby-rack Ubuntu 24.04 LTS 2.2.7-1ubuntu0.6
- ruby-rack Ubuntu 25.10 3.1.16-0.1ubuntu0.2
- ruby-rack Ubuntu 26.10, Ubuntu 26.04 LTS 3.2.4-1ubuntu1
- ruby-rack Ubuntu Pro 20.04 LTS 2.0.7-2ubuntu0.1+esm9
- ruby-rack Ubuntu Pro 22.04 LTS 2.1.4-5ubuntu1.2+esm2
ubuntu advisories UBUNTU-CVE-2026-22860
Ubuntu security data © Canonical Ltd., from https://github.com/canonical/ubuntu-security-notices via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0
- rubygem-rack-2.2 openSUSE Tumbleweed 2.2.22-1.1
opensuse advisories openSUSE-SU-2026:10286-1
- github.com/rack/rack@75c5745 commit
Vendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2026-22860 updated cvss 7.5
rubygem-rack: Rack Directory Traversal via Rack:Directory
-
Red Hat 3scale API Management Platform 2 3scale-amp21/zync, 3scale-amp22/zync, 3scale-amp24/zync, 3scale-amp25/zync, 3scale-amp26/zync, 3scale-amp20/system, +19 moreaffected: workaround, no fix available, no fix planned “Will not fix”
-
Red Hat Logging Subsystem for Red Hat OpenShift openshift-logging/vector-rhel9, openshift-logging/fluentd-rhel9, openshift-logging/eventrouter-rhel9, openshift-logging/logging-view-plugin-rhel9, openshift-logging/cluster-logging-rhel9-operator, openshift-logging/log-file-metric-exporter-rhel9, +1 morenot affected: component not present
-
Red Hat Enterprise Linux 7 pcs, pcs-snmp, python-clufter Red Hat Enterprise Linux 8 pcs, pcs-snmp Red Hat Enterprise Linux 9 pcs, pcs-snmp Red Hat Enterprise Linux 10 pcsnot affected: vulnerable code not in execute path
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
CISA SSVC
- Exploitation
- none
- Automatable
- yes
- Technical impact
- partial
- Assessed
- 8 mo ago
Exploit prediction
0.76% chance of exploitation in the next 30 days, higher than 55% of all scored CVEs (FIRST EPSS, 2026-11-08).
Exploits and checks
- github.com https://github.com/rack/rack/security/advisories/GHSA-mxw3-3hh2-x2mh referenced PoC, tagged "exploit" by a source, unverified
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 7.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N |
| CISA ADP | 3.1 | 7.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N |
| GitHub | 3.1 | 7.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| rubygems | rack | <2.2.22 >=3.0.0.beta1, <3.1.20 >=3.2.0, <3.2.5 |
2.2.22 3.1.20 3.2.5 |
Affected products
- rack rack
- Red Hat Logging Subsystem for Red Hat OpenShift
- Red Hat Red Hat 3scale API Management Platform 2
- Red Hat Red Hat Enterprise Linux 10
- Red Hat Red Hat Enterprise Linux 7
- Red Hat Red Hat Enterprise Linux 8
- Red Hat Red Hat Enterprise Linux 9
Classification
References
-
github.com
/rack/rack/commit/75c5745c286637a8f049a33790c71237762069e7
web, patch
-
github.com
/rack/rack/security/advisories/GHSA-mxw3-3hh2-x2mh
web, exploit, mitigation, vendor-advisory
-
access.redhat.com
/security/cve/CVE-2026-22860
vdb-entry
-
bugzilla.redhat.com
/show_bug.cgi?id=2440737
issue-tracking
- security.access.redhat.com /data/csaf/v2/vex/2026/cve-2026-22860.json
-
nvd.nist.gov
/vuln/detail/CVE-2026-22860
advisory
-
github.com
/rack/rack
package
-
github.com
/rubysec/ruby-advisory-db/blob/master/gems/rack/CVE-2026-22860.yml
web
Sources
- CVE List CVE-2026-22860
- GitHub Advisory GHSA-mxw3-3hh2-x2mh
- NVD CVE-2026-22860
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.
CPEs and fixed versions use Anchore's correction of NVD's data: Added CPE configurations because not yet analyzed by NVD.