Vulnerability · Published Apr 2, 2026 · Assigned by GitHub_M

CVE-2026-34786Rack: Rack::Static header_rules bypass via URL-encoded paths

Medium 5.3

In plain English

A medium-severity security flaw in rack from rack. There are no confirmed reports of exploitation so far. The chance it is exploited in the next 30 days is estimated at 0.2% (higher than 10% of all known vulnerabilities). Fixed versions are available - upgrade the affected package.

Severity (CVSS 3.1)5.3Medium
Exploit odds (30 days)0.2%top 89.7% of all CVEs
Exploited in the wildNo reportsCISA SSVC: none
Attack toolingNoneno public tooling known

Official description

Rack is a modular Ruby web server interface. Prior to versions 2.2.23, 3.1.21, and 3.2.6, Rack::Static#applicable_rules evaluates several header_rules types against the raw URL-encoded PATH_INFO, while the underlying file-serving path is decoded before the file is served. As a result, a request for a URL-encoded variant of a static path can serve the same file without the headers that header_rules were intended to apply. In deployments that rely on Rack::Static to attach security-relevant response headers to static content, this can allow an attacker to bypass those headers by requesting an encoded form of the path. This issue has been patched in versions 2.2.23, 3.1.21, and 3.2.6.

Affected packages & fixed versions

EcosystemPackageFixed inAdvisory
Debian:12ruby-rack2.2.22-0+deb12u2DEBIAN-CVE-2026-34786
Debian:13ruby-rack3.1.20-0+deb13u2DEBIAN-CVE-2026-34786
Debian:14ruby-rack3.2.6-2DEBIAN-CVE-2026-34786
RubyGemsrack2.2.23GHSA-q4qf-9j86-f5mh
RubyGemsrack3.1.21GHSA-q4qf-9j86-f5mh
RubyGemsrack3.2.6GHSA-q4qf-9j86-f5mh
Ubuntu:24.04:LTSruby-rack2.2.7-1ubuntu0.7UBUNTU-CVE-2026-34786
Ubuntu:25.10ruby-rack3.1.16-0.1ubuntu0.3UBUNTU-CVE-2026-34786
Ubuntu:26.04:LTSruby-rack3.2.4-1ubuntu1.1UBUNTU-CVE-2026-34786
Ubuntu:26.04:LTSruby-rack3.2.4-1ubuntu1.1USN-8989-1

Affected products (as reported)

VendorProductVersions
rack rack < 2.2.23>= 3.0.0.beta1, < 3.1.21>= 3.2.0, < 3.2.6

Weakness: CWE-180 · Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N

References