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.
Problem types
CWE-22: Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')
CWE-548: Exposure of Information Through Directory Listing
Product status
>= 3.0.0.beta1, < 3.1.20
>= 3.2.0, < 3.2.5
References
github.com/rack/rack/security/advisories/GHSA-mxw3-3hh2-x2mh
github.com/...ommit/75c5745c286637a8f049a33790c71237762069e7