CVE-2026-125110 PUBLISHED

Rack: Rack::Static header_rules bypass via dot-segment normalization mismatch

Assigner: GitHub_M
Reserved: 09.11.2026 Published: 09.11.2026 Updated: 09.11.2026

Rack is a modular Ruby web server interface. Prior to 2.2.25, 3.1.23, and 3.2.8, Rack::Static serves a path after Utils.clean_path_info normalization but evaluates header_rules against a path that is only URL-decoded. An unauthenticated attacker can request a known file through raw or percent-encoded dot segments and receive it without path-specific security headers such as Content-Disposition or Content-Security-Policy. Applications that do not use path-specific header_rules are not affected. This issue is fixed in versions 2.2.25, 3.1.23, and 3.2.8.

Metrics

CVSS Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N
CVSS Score: 5.3

Product Status

Vendor rack
Product rack
Versions
  • Version < 2.2.25 is affected
  • Version >= 3.0, < 3.1.23 is affected
  • Version >= 3.2, < 3.2.8 is affected

References

Problem Types

  • CWE-180: Incorrect Behavior Order: Validate Before Canonicalize CWE