Skip to main content

Relative Path Traversal

CVE-2025-27610

Severity High
Score 7.5/10

Summary

Rack provides an interface for developing web applications in Ruby. In versions prior to 2.2.13, 3.0.x prior to 3.0.14, and 3.1.x prior to 3.1.12, `Rack::Static` can serve files under the specified `root:` even if `urls:` are provided, which may expose other files under the specified `root:` unexpectedly. The vulnerability occurs because `Rack::Static` does not properly sanitize user-supplied paths before serving files. Specifically, encoded path traversal sequences are not correctly validated, allowing attackers to access files outside the designated static file directory. By exploiting this vulnerability, an attacker can gain access to all files under the specified `root:` directory, provided they are able to determine the path of the file. Other mitigations include removing the usage of `Rack::Static`, or ensuring that `root:` points to a directory path that only contains files that should be accessed publicly. It is likely that a CDN or similar static file server would also mitigate the issue.

  • LOW
  • NETWORK
  • NONE
  • UNCHANGED
  • NONE
  • NONE
  • HIGH
  • NONE

CWE-23 - Relative Path Traversal

The software uses external input to construct a pathname that should be within a restricted directory, but it does not properly neutralize sequences such as ".." that can resolve to a location that is outside of that directory.

Advisory Timeline

  • Published