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.
Published: 2026-04-02
Score: 5.3 Medium
EPSS: < 1% Very Low
KEV: No
Impact: Security header bypass
Action: Patch immediately
AI Analysis

Impact

Rack::Static evaluates header_rules against the raw URL‑encoded PATH_INFO, while the underlying file‑serving path is decoded before the file is served. This mismatch allows an attacker to request a URL‑encoded variant of a static path and receive the file without the security headers that the header_rules are intended to add. The result is a bypass of the desired response headers for static content.

Affected Systems

The vulnerability affects the Rack framework, specifically Rack::Static in versions earlier than 2.2.23, 3.1.21, and 3.2.6. Installing any of the patched releases mitigates the issue.

Risk and Exploitability

The CVSS score is 5.3, indicating moderate severity. The flaw is not listed in the CISA KEV catalog and EPSS data is not available. The likely attack vector is a simple HTTP request with a URL‑encoded path; exploitation requires only network access to the target and no special prerequisites. The impact is confined to the loss of the intended security headers, without providing remote code execution or denial of service.

Generated by OpenCVE AI on April 2, 2026 at 23:16 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Update Rack to a patched release version 2.2.23 or newer, 3.1.21 or newer, or 3.2.6 or newer.

Generated by OpenCVE AI on April 2, 2026 at 23:16 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-q4qf-9j86-f5mh Rack:: Static header_rules bypass via URL-encoded paths
History

Sat, 04 Apr 2026 01:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-179
References
Metrics threat_severity

None

threat_severity

Moderate


Fri, 03 Apr 2026 19:00:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Fri, 03 Apr 2026 10:15:00 +0000

Type Values Removed Values Added
First Time appeared Rack
Rack rack
Vendors & Products Rack
Rack rack

Thu, 02 Apr 2026 20:30:00 +0000

Type Values Removed Values Added
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.
Title Rack: Rack::Static header_rules bypass via URL-encoded paths
Weaknesses CWE-180
References
Metrics cvssV3_1

{'score': 5.3, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N'}


cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-04-03T17:38:11.143Z

Reserved: 2026-03-30T19:54:55.556Z

Link: CVE-2026-34786

cve-icon Vulnrichment

Updated: 2026-04-03T17:38:05.787Z

cve-icon NVD

Status : Undergoing Analysis

Published: 2026-04-02T17:16:25.030

Modified: 2026-04-03T16:10:23.730

Link: CVE-2026-34786

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-04-02T16:44:59Z

Links: CVE-2026-34786 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-04-03T09:18:25Z

Weaknesses