Description (CNA)
Rack is a modular Ruby web server interface. Prior to versions 2.2.23, 3.1.21, and 3.2.6, Rack::Static determines whether a request should be served as a static file using a simple string prefix check. When configured with URL prefixes such as "/css", it matches any request path that begins with that string, including unrelated paths such as "/css-config.env" or "/css-backup.sql". As a result, files under the static root whose names merely share the configured prefix may be served unintentionally, leading to information disclosure. This issue has been patched in versions 2.2.23, 3.1.21, and 3.2.6.
Affected (CNA)
| Vendor / product | Versions |
|---|---|
| rack / rack | affected < 2.2.23; affected >= 3.0.0.beta1, < 3.1.21; affected >= 3.2.0, < 3.2.6 |
CWE
CWE-187, CWE-200
References
ADP enrichment
No English description supplied.
No references supplied.
A flaw was found in Rack. The `Rack::Static` component, which serves static files for web applications, uses a simple string prefix check to determine if a request should be served as a static file. This can lead to unintended information disclosure, as files with names that merely share a configured URL prefix (e.g., "/css" matching "/css-config.env") may be served unintentionally to a remote attacker.