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.
Metrics
Affected Vendors & Products
References
History
Thu, 19 Feb 2026 18:30:00 +0000
| Type | Values Removed | Values Added |
|---|---|---|
| CPEs | cpe:2.3:a:rack:rack:*:*:*:*:*:ruby:*:* |
Thu, 19 Feb 2026 12:15:00 +0000
| Type | Values Removed | Values Added |
|---|---|---|
| References |
| |
| Metrics |
threat_severity
|
threat_severity
|
Thu, 19 Feb 2026 10:30:00 +0000
| Type | Values Removed | Values Added |
|---|---|---|
| First Time appeared |
Rack
Rack rack |
|
| Vendors & Products |
Rack
Rack rack |
Wed, 18 Feb 2026 20:15:00 +0000
| Type | Values Removed | Values Added |
|---|---|---|
| Metrics |
ssvc
|
Wed, 18 Feb 2026 19:15:00 +0000
| Type | Values Removed | Values Added |
|---|---|---|
| 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. | |
| Title | Rack has a Directory Traversal via Rack:Directory | |
| Weaknesses | CWE-22 CWE-548 |
|
| References |
| |
| Metrics |
cvssV3_1
|
Status: PUBLISHED
Assigner: GitHub_M
Published: 2026-02-18T18:45:02.095Z
Updated: 2026-02-18T19:28:38.445Z
Reserved: 2026-01-12T16:20:16.746Z
Link: CVE-2026-22860
Updated: 2026-02-18T19:28:26.018Z
Status : Analyzed
Published: 2026-02-18T19:21:43.933
Modified: 2026-02-19T18:27:09.117
Link: CVE-2026-22860