High severity7.5NVD Advisory· Published Feb 18, 2026· Updated Jul 15, 2026
CVE-2026-22860
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.
AI Insight
LLM-synthesized narrative grounded in this CVE's description and references.
Affected packages
Versions sourced from the GitHub Security Advisory.
| Package | Affected versions | Patched versions |
|---|---|---|
rackRubyGems | < 2.2.22 | 2.2.22 |
rackRubyGems | >= 3.0.0.beta1, < 3.1.20 | 3.1.20 |
rackRubyGems | >= 3.2.0, < 3.2.5 | 3.2.5 |
Affected products
74- osv-coords72 versionspkg:apk/chainguard/gitlab-exporter-18.6pkg:apk/chainguard/gitlab-exporter-18.7pkg:apk/chainguard/gitlab-exporter-18.8pkg:apk/chainguard/gitlab-rails-ce-18.1pkg:apk/chainguard/gitlab-rails-ce-18.8pkg:apk/chainguard/gitlab-rails-ce-18.9pkg:apk/chainguard/gitlab-rails-ce-fips-18.8pkg:apk/chainguard/gitlab-rails-ce-fips-18.9pkg:apk/chainguard/kube-fluentd-operatorpkg:apk/chainguard/logstash-8.17pkg:apk/chainguard/logstash-8.17-iamguarded-compatpkg:apk/chainguard/logstash-8.17-with-output-opensearchpkg:apk/chainguard/logstash-8.19pkg:apk/chainguard/logstash-8.19-iamguarded-compatpkg:apk/chainguard/logstash-8.19-with-output-opensearchpkg:apk/chainguard/logstash-9.0pkg:apk/chainguard/logstash-9.0-iamguarded-compatpkg:apk/chainguard/logstash-9.0-with-output-opensearchpkg:apk/chainguard/logstash-9.1pkg:apk/chainguard/logstash-9.1-bitnami-compatpkg:apk/chainguard/logstash-9.1-iamguarded-compatpkg:apk/chainguard/logstash-9.1-with-output-opensearchpkg:apk/chainguard/logstash-9.2pkg:apk/chainguard/logstash-9.2-iamguarded-compatpkg:apk/chainguard/logstash-9.2-with-output-opensearchpkg:apk/chainguard/logstash-9.3pkg:apk/chainguard/logstash-9.3-iamguarded-compatpkg:apk/chainguard/logstash-9.3-with-output-opensearchpkg:apk/chainguard/ruby3.2-rack-2.2pkg:apk/chainguard/ruby3.2-rails-7.1pkg:apk/chainguard/ruby3.2-rails-7.2pkg:apk/chainguard/ruby3.2-rails-8.0pkg:apk/chainguard/ruby3.2-rails-8.1pkg:apk/chainguard/ruby3.3-rack-2.2pkg:apk/chainguard/ruby3.3-rails-7.1pkg:apk/chainguard/ruby3.3-rails-7.2pkg:apk/chainguard/ruby3.3-rails-8.0pkg:apk/chainguard/ruby3.3-rails-8.1pkg:apk/chainguard/ruby3.4-rack-2.2pkg:apk/chainguard/ruby3.4-rails-7.1pkg:apk/chainguard/ruby3.4-rails-7.2pkg:apk/chainguard/ruby3.4-rails-8.0pkg:apk/chainguard/ruby3.4-rails-8.1pkg:apk/chainguard/ruby4.0-rack-2.2pkg:apk/chainguard/ruby4.0-rails-7.1pkg:apk/chainguard/ruby4.0-rails-7.2pkg:apk/chainguard/ruby4.0-rails-8.0pkg:apk/chainguard/ruby4.0-rails-8.1pkg:apk/wolfi/kube-fluentd-operatorpkg:apk/wolfi/logstash-9.1pkg:apk/wolfi/logstash-9.1-bitnami-compatpkg:apk/wolfi/logstash-9.1-iamguarded-compatpkg:apk/wolfi/logstash-9.1-with-output-opensearchpkg:apk/wolfi/logstash-9.2pkg:apk/wolfi/logstash-9.2-iamguarded-compatpkg:apk/wolfi/logstash-9.2-with-output-opensearchpkg:apk/wolfi/logstash-9.3pkg:apk/wolfi/logstash-9.3-iamguarded-compatpkg:apk/wolfi/logstash-9.3-with-output-opensearchpkg:apk/wolfi/ruby3.2-rack-2.2pkg:apk/wolfi/ruby3.2-rails-8.0pkg:apk/wolfi/ruby3.2-rails-8.1pkg:apk/wolfi/ruby3.3-rack-2.2pkg:apk/wolfi/ruby3.3-rails-8.0pkg:apk/wolfi/ruby3.3-rails-8.1pkg:apk/wolfi/ruby3.4-rack-2.2pkg:apk/wolfi/ruby3.4-rails-8.0pkg:apk/wolfi/ruby3.4-rails-8.1pkg:apk/wolfi/ruby4.0-rack-2.2pkg:apk/wolfi/ruby4.0-rails-8.1pkg:gem/rackpkg:rpm/opensuse/rubygem-rack-2.2&distro=openSUSE%20Tumbleweed
< 18.6.6-r1+ 71 more
- (no CPE)range: < 18.6.6-r1
- (no CPE)range: < 18.7.4-r1
- (no CPE)range: < 18.8.4-r1
- (no CPE)range: < 18.1.6-r13
- (no CPE)range: < 18.8.7-r0
- (no CPE)range: < 18.9.3-r0
- (no CPE)range: < 18.8.7-r0
- (no CPE)range: < 18.9.3-r0
- (no CPE)range: < 1.18.2-r60
- (no CPE)range: < 8.17.10-r12
- (no CPE)range: < 8.17.10-r12
- (no CPE)range: < 8.17.10-r12
- (no CPE)range: < 8.19.11-r1
- (no CPE)range: < 8.19.11-r1
- (no CPE)range: < 8.19.11-r1
- (no CPE)range: < 9.0.8-r11
- (no CPE)range: < 9.0.8-r11
- (no CPE)range: < 9.0.8-r11
- (no CPE)range: < 9.1.10-r1
- (no CPE)range: < 9.1.10-r1
- (no CPE)range: < 9.1.10-r1
- (no CPE)range: < 9.1.10-r1
- (no CPE)range: < 9.2.5-r1
- (no CPE)range: < 9.2.5-r1
- (no CPE)range: < 9.2.5-r1
- (no CPE)range: < 9.3.1-r1
- (no CPE)range: < 9.3.1-r1
- (no CPE)range: < 9.3.1-r1
- (no CPE)range: < 2.2.22-r0
- (no CPE)range: < 7.1.6-r2
- (no CPE)range: < 7.2.3-r2
- (no CPE)range: < 8.0.4-r2
- (no CPE)range: < 8.1.2-r1
- (no CPE)range: < 2.2.22-r0
- (no CPE)range: < 7.1.6-r2
- (no CPE)range: < 7.2.3-r2
- (no CPE)range: < 8.0.4-r2
- (no CPE)range: < 8.1.2-r2
- (no CPE)range: < 2.2.22-r0
- (no CPE)range: < 7.1.6-r2
- (no CPE)range: < 7.2.3-r2
- (no CPE)range: < 8.0.4-r2
- (no CPE)range: < 8.1.2-r1
- (no CPE)range: < 2.2.22-r0
- (no CPE)range: < 7.1.6-r1
- (no CPE)range: < 7.2.3-r2
- (no CPE)range: < 8.0.4-r1
- (no CPE)range: < 8.1.2-r1
- (no CPE)range: < 1.18.2-r60
- (no CPE)range: < 9.1.10-r1
- (no CPE)range: < 9.1.10-r1
- (no CPE)range: < 9.1.10-r1
- (no CPE)range: < 9.1.10-r1
- (no CPE)range: < 9.2.5-r1
- (no CPE)range: < 9.2.5-r1
- (no CPE)range: < 9.2.5-r1
- (no CPE)range: < 9.3.1-r1
- (no CPE)range: < 9.3.1-r1
- (no CPE)range: < 9.3.1-r1
- (no CPE)range: < 2.2.22-r0
- (no CPE)range: < 8.0.4-r2
- (no CPE)range: < 8.1.2-r1
- (no CPE)range: < 2.2.22-r0
- (no CPE)range: < 8.0.4-r2
- (no CPE)range: < 8.1.2-r2
- (no CPE)range: < 2.2.22-r0
- (no CPE)range: < 8.0.4-r2
- (no CPE)range: < 8.1.2-r1
- (no CPE)range: < 2.2.22-r0
- (no CPE)range: < 8.1.2-r1
- (no CPE)range: < 2.2.22
- (no CPE)range: < 2.2.22-1.1
Patches
Vulnerability mechanics
References
8- github.com/rack/rack/commit/75c5745c286637a8f049a33790c71237762069e7nvdPatchWEB
- github.com/rack/rack/security/advisories/GHSA-mxw3-3hh2-x2mhnvdExploitMitigationVendor AdvisoryWEB
- github.com/advisories/GHSA-mxw3-3hh2-x2mhghsaADVISORY
- nvd.nist.gov/vuln/detail/CVE-2026-22860ghsaADVISORY
- github.com/rubysec/ruby-advisory-db/blob/master/gems/rack/CVE-2026-22860.ymlghsaWEB
- access.redhat.com/security/cve/CVE-2026-22860nvd
- bugzilla.redhat.com/show_bug.cginvd
- security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-22860.jsonnvd
News mentions
0No linked articles in our index yet.