CVE-2026-22860

NameCVE-2026-22860
DescriptionRack 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.
SourceCVE (at NVD; CERT, ENISA, LWN, oss-sec, fulldisc, Debian ELTS, Red Hat, Ubuntu, Gentoo, SUSE bugzilla/CVE, GitHub advisories/code/issues, web search, more)

Vulnerable and fixed packages

The table below lists information on source packages.

Source PackageReleaseVersionStatus
ruby-rack (PTS)bullseye2.1.4-3+deb11u2vulnerable
bullseye (security)2.1.4-3+deb11u4vulnerable
bookworm, bookworm (security)2.2.20-0+deb12u1vulnerable
trixie (security), trixie3.1.18-1~deb13u1vulnerable
forky3.1.18-1vulnerable
sid3.2.4-1vulnerable

The information below is based on the following data on fixed versions.

PackageTypeReleaseFixed VersionUrgencyOriginDebian Bugs
ruby-racksource(unstable)(unfixed)

Notes

https://github.com/rack/rack/security/advisories/GHSA-mxw3-3hh2-x2mh
Fixed by: https://github.com/rack/rack/commit/75c5745c286637a8f049a33790c71237762069e7 (main)
Fixed by: https://github.com/rack/rack/commit/f9bde3bc2dde2771185ac1a7b7602a4d9fa0a0d8 (v3.2.5)
Fixed by: https://github.com/rack/rack/commit/48e90303ea09cdcf5091104c1ffc94a2f74e2c5b (v3.1.20)
Fixed by: https://github.com/rack/rack/commit/a5725c031b2717758851f1eadd9b9dfe7555745a (v2.2.22)

Search for package or bug name: Reporting problems