# CVE-2026-22860

## Summary

- **CVE ID:** CVE-2026-22860
- **Severity:** HIGH
- **CVSS Score:** 7.5 (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N)
- **CWE:** CWE-22, CWE-548
- **Published:** Feb 18, 2026
- **Last Modified:** Jul 15, 2026

## 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

- rack — rack (< 2.2.22)
- rack — rack (>= 3.0.0.beta1, < 3.1.20)
- rack — rack (>= 3.2.0, < 3.2.5)

## References

- [CNA](https://github.com/rack/rack/security/advisories/GHSA-mxw3-3hh2-x2mh)
- [CNA](https://github.com/rack/rack/commit/75c5745c286637a8f049a33790c71237762069e7)
- [GitHub](https://github.com/advisories/GHSA-mxw3-3hh2-x2mh)
- [redhat-SADP](https://access.redhat.com/security/cve/CVE-2026-22860)
- [redhat-SADP](https://bugzilla.redhat.com/show_bug.cgi?id=2440737)
- [redhat-SADP](https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-22860.json)

## Exploitation Prediction (EPSS)

- **EPSS Score:** 0.66%
- **EPSS Percentile:** 49.7

---
_Exported from OnDuty AI Vulnerability Intelligence on 2026-09-10._