CVE-2026-34786
CVE-2026-34786 is a medium-severity vulnerability in Rack with a CVSS 3.x base score of 5.3. It is not currently listed as actively exploited by CISA, and its EPSS exploit-prediction score is low. The underlying weakness is classified as CWE-180.
Key facts
- Severity: Medium (CVSS 3.x base score 5.3)
- EPSS exploit prediction: 0% (9th percentile)
- Actively exploited: Not listed in CISA KEV
- EU (EUVD) id: EUVD-2026-18384
- Weakness: CWE-180
- Affected product: Rack
- Published:
- Last modified:
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.
Frequently asked questions
- What is CVE-2026-34786?
- 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.
- How severe is CVE-2026-34786?
- CVE-2026-34786 has a CVSS 3.x base score of 5.3, rated medium severity. It is exploitable over network with low attack complexity, requires no privileges and no user interaction. Impact on confidentiality is none, integrity low, and availability none.
- Is CVE-2026-34786 being actively exploited?
- It is not currently listed in CISA's KEV catalog. Its EPSS exploit-prediction score is 0% (9th percentile), an estimate of the probability of exploitation in the next 30 days.
- What products are affected by CVE-2026-34786?
- CVE-2026-34786 affects Rack. See the affected-products list for the exact vulnerable versions.
- How do I fix CVE-2026-34786?
- Review the linked vendor and NVD advisories for patched versions and mitigations, then upgrade or apply the recommended workaround.
- Does CVE-2026-34786 have an EU (EUVD) identifier?
- Yes. CVE-2026-34786 is tracked in the ENISA EU Vulnerability Database (EUVD) as EUVD-2026-18384.
- When was CVE-2026-34786 published?
- CVE-2026-34786 was published on 2026-04-02 and last updated on 2026-06-17.
References
Affected products (1)
- cpe:2.3:a:rack:rack:*:*:*:*:*:ruby:*:*
More vulnerabilities in Rack
- CVE-2026-34827 — High (CVSS 7.5): Rack is a modular Ruby web server interface. From versions 3.0.0.beta1 to before 3.1.21, and 3.2.0 to before 3.2.6,…
- CVE-2026-34829 — High (CVSS 7.5): Rack is a modular Ruby web server interface. Prior to versions 2.2.23, 3.1.21, and 3.2.6, Rack::Multipart::Parser only…
- CVE-2026-34785 — High (CVSS 7.5): Rack is a modular Ruby web server interface. Prior to versions 2.2.23, 3.1.21, and 3.2.6, Rack::Static determines…
- CVE-2026-22860 — High (CVSS 7.5): Rack is a modular Ruby web server interface. Prior to versions 2.2.22, 3.1.20, and 3.2.5, `Rack::Directory`’s path…
- CVE-2025-61919 — High (CVSS 7.5): Rack is a modular Ruby web server interface. Prior to versions 2.2.20, 3.1.18, and 3.2.3, `Rack::Request#POST` reads…
- CVE-2025-61772 — High (CVSS 7.5): Rack is a modular Ruby web server interface. In versions prior to 2.2.19, 3.1.17, and 3.2.2, `Rack::Multipart::Parser`…
Other CWE-180 vulnerabilities
- CVE-2026-24895 — Critical (CVSS 9.8): FrankenPHP is a modern application server for PHP. Prior to 1.11.2, FrankenPHP’s CGI path splitting logic improperly…
- CVE-2026-48721 — High (CVSS 8.6): Warp is an agentic development environment. From 0.2025.10.08.08.12.stable_00 until 0.2026.05.06.15.42.stable_01, Warp…
- CVE-2026-45022 — High (CVSS 7.5): go-git is an extensible git implementation library written in pure Go. Prior to 5.19.0 and 6.0.0-alpha.3, go-git may…
- CVE-2026-39364 — High (CVSS 7.5): Vite is a frontend tooling framework for JavaScript. From 7.1.0 to before 7.3.2 and 8.0.5, on the Vite dev server,…
- CVE-2026-42462 — High (CVSS 7.0): Fedify is a TypeScript library for building federated server apps powered by ActivityPub. Prior to versions 1.9.11,…
- CVE-2025-43716 — Medium (CVSS 5.8): A directory traversal vulnerability exists in Ivanti LANDesk Management Gateway through 4.2-1.9. By appending %3F.php…