Skip to main content
← All vulnerabilities
CVE-2026-34830GHSA-QV7J-4883-HWH7

Rack: Rack::Sendfile regex injection via HTTP_X_ACCEL_MAPPING header allows arbitrary file reads through nginx

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 2.2.23, 3.1.21, 3.2.6
None on Exploit-DB, Metasploit or GitHub
  • Exploitation: none
  • Automatable: no
  • Technical impact: partial

Summary

Rack is a modular Ruby web server interface. Prior to versions 2.2.23, 3.1.21, and 3.2.6, Rack::Sendfile#map_accel_path interpolates the value of the X-Accel-Mapping request header directly into a regular expression when rewriting file paths for X-Accel-Redirect. Because the header value is not escaped, an attacker who can supply X-Accel-Mapping to the backend can inject regex metacharacters and control the generated X-Accel-Redirect response header. In deployments using Rack::Sendfile with x-accel-redirect, this can allow an attacker to cause nginx to serve unintended files from configured internal locations. This issue has been patched in versions 2.2.23, 3.1.21, and 3.2.6.

Timeline

  1. CVE published
  2. CISA SSVC assessment

    Exploitation: none · Automatable: no · Technical impact: partial

  3. Record last updated

Affected versions

  • rack rack

    fixed in 2.2.23; From 3.0.0.beta1 · fixed in 3.1.21; From 3.2.0 · fixed in 3.2.6

  • rackRubyGems

    fixed in 2.2.23

  • rackRubyGems

    From 3.0.0.beta1 · fixed in 3.1.21

  • rackRubyGems

    From 3.2.0 · fixed in 3.2.6

References 1

GitHub · rack/rack