Skip to main content

Rack CVE-2026-34830

| EUVDEUVD-2026-18390 HIGH
Permissive Regular Expression (CWE-625)
2026-04-02 security-advisories@github.com GHSA-qv7j-4883-hwh7
7.5
CVSS 3.1 · NVD
View

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V2 - Validation and Business Logic Permissive regular expression
Impact

The CVSS v3.1 score of 5.9 with vector AV:N/AC:H/PR:N/UI:N reflects a network-accessible vulnerability with high complexity and no privilege or interaction requirements, yielding high confidentiality impact. However, the attack complexity (AC:H) is the primary limiting factor, indicating that successful exploitation requires specific configuration preconditions: the backend must actively use Rack::Sendfile with x-accel-redirect support, and the attacker must be able to inject the X-Accel-Mapping header into requests reaching the middleware. The vulnerability is fundamentally a path traversal/file exposure issue rather than remote code execution. Real-world risk depends heavily on nginx configuration-only deployments with internal location blocks configured for x-accel-redirect acceleration are affected. The AC:H rating accurately reflects the requirement to understand and manipulate regex patterns and knowledge of the backend's internal file structure. Absence of reported public exploit code and active exploitation (no CISA KEV status) suggests this is a measured-risk issue affecting primarily high-touch deployments rather than mass-exploitable.

Exploit ScenarioDerived

An attacker sends a crafted HTTP request with a malicious X-Accel-Mapping header to a web application using Rack::Sendfile with nginx x-accel-redirect enabled. The attacker constructs a regex payload that breaks out of the intended path pattern and matches paths served from an unintended internal nginx location, such as one serving configuration files, source code, or other sensitive assets. When the middleware processes the request, the unescaped header value is interpolated into the regex, causing nginx to redirect and serve a file the attacker should not access. For example, an attacker might inject regex wildcards or character classes to match /config/database.yml instead of /public/downloads/file.pdf. Successful exploitation requires knowledge of the backend's file structure and configured internal locations, explaining the high attack complexity rating.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.0% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Apr 02, 2026

Rack::Sendfile in versions prior to 2.2.23, 3.1.21, and 3.2.6 allows remote attackers to inject regex metacharacters into X-Accel-Mapping request headers, enabling unescaped interpolation that manipulates the X-Accel-Redirect response header and causes nginx to serve unintended files from internal locations. No public exploit code or active exploitation has been confirmed; patch versions are available from the vendor.

RemediationAI

Upgrade Rack to version 2.2.23 (for 2.2.x branch), 3.1.21 (for 3.1.x branch), or 3.2.6 (for 3.2.x branch) or later. For Rails applications, this typically requires updating the Gemfile and running bundle update rack, then redeploying. No workarounds are available short of disabling Rack::Sendfile or removing X-Accel-Mapping support entirely. Verify that your application's Gemfile.lock specifies one of the patched versions after remediation. Additional defense-in-depth: ensure nginx x-accel-redirect internal locations are explicitly defined and as restrictive as possible to limit the blast radius of any path manipulation. See vendor advisory at https://github.com/rack/rack/security/advisories/GHSA-qv7j-4883-hwh7 for details.

Affected VersionsENISA

rack 3.0.0.beta1, < 3.1.21
rack < 2.2.23
rack 3.2.0, < 3.2.6

Affected Packages

rubygems rack fix: 2.2.23, 3.1.21, 3.2.6
euvd rack_3_0_0_beta1 fix: 3.1.21

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 2 packages in rubygems, euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

Rack is a modular Ruby web server interface that provides middleware components for HTTP request/response handling. The vulnerable component, Rack::Sendfile, implements acceleration for file downloads by delegating to nginx via X-Accel-Redirect headers (also known as x-accel-redirect). The Sendfile middleware uses the X-Accel-Mapping request header to rewrite file paths for internal nginx location directives. The vulnerability stems from CWE-625 (Unsafe Regular Expression Complexity) where user-supplied input from the X-Accel-Mapping header is directly interpolated into a regular expression pattern without escaping metacharacters. This allows attackers to craft regex patterns that match unintended file paths, causing nginx to redirect file serving to arbitrary configured internal locations rather than the intended target.

Know when Rack gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

NVD PRIMARY 7.5 HIGH
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
SUSE 5.9 MEDIUM
AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N
Red Hat 5.9 MEDIUM

Primary rating from NVD.

CVSS VectorNVD

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
None
Availability
None

Lifecycle Timeline

4
Severity Changed
Jul 24, 2026 - 21:22 NVD
MEDIUM HIGH
CVSS changed
Jul 24, 2026 - 21:22 NVD
5.9 (MEDIUM) 7.5 (HIGH)
Patch released
Apr 03, 2026 - 02:30 nvd
Patch available
CVE Published
Apr 02, 2026 - 17:16 nvd
MEDIUM 5.9

DescriptionNVD

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.

Threat Intelligence Overview

EPSS Score
0.0%
Top 91% exploitable
Threat Intel
1
1 source
Data Quality
8 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GHSA Vendor GitHub VulDB

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.0%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

38
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +38
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Code Injection CRITICAL

Code injection occurs when an application accepts user input and passes it directly into a language interpreter or evaluator without proper sanitization.

More in Rack

View all
CVE-2026-22860 HIGH POC
7.5 Feb 18

Directory traversal in Rack versions prior to 2.2.22, 3.1.20, and 3.2.5 allows unauthenticated remote attackers to list

CVE-2024-26141 HIGH POC
7.5 Feb 29

Rack is a modular Ruby web server interface. Rated high severity (CVSS 7.5), this vulnerability is remotely exploitable,

CVE-2024-25126 HIGH POC
7.5 Feb 29

Rack is a modular Ruby web server interface. Rated high severity (CVSS 7.5), this vulnerability is remotely exploitable,

CVE-2020-8184 HIGH POC
7.5 Jun 19

A reliance on cookies without validation/integrity check security vulnerability exists in rack < 2.2.3, rack < 2.1.4 tha

CVE-2022-30123 CRITICAL
10.0 Dec 05

A sequence injection vulnerability exists in Rack <2.0.9.1, <2.1.4.1 and <2.2.3.1 which could allow is a possible shell

CVE-2025-25184 MEDIUM POC
5.7 Feb 12

Rack provides an interface for developing web applications in Ruby. Rated medium severity (CVSS 5.7), this vulnerability

CVE-2026-25500 MEDIUM POC
5.4 Feb 18

Rack's Directory module fails to sanitize filenames when generating HTML directory listings, allowing attackers to craft

CVE-2026-39324 CRITICAL
9.3 Apr 07

Session authentication bypass in Rack::Session::Cookie 2.0.0 through 2.1.1 allows unauthenticated remote attackers to fo

CVE-2020-8161 HIGH
8.6 Jul 02

A directory traversal vulnerability exists in rack < 2.2.0 that allows an attacker perform directory traversal vulnerabi

CVE-2013-0263 MEDIUM
5.1 Feb 08

Rack::Session::Cookie in Rack 1.5.x before 1.5.2, 1.4.x before 1.4.5, 1.3.x before 1.3.10, 1.2.x before 1.2.8, and 1.1.x

CVE-2023-27530 HIGH
7.5 Mar 10

A DoS vulnerability exists in Rack <v3.0.4.2, <v2.2.6.3, <v2.1.4.3 and <v2.0.9.3 within in the Multipart MIME parsing co

CVE-2025-61772 HIGH
7.5 Oct 07

Memory exhaustion denial of service in the Ruby Rack web server interface (versions prior to 2.2.19, 3.1.17, and 3.2.2)

Vendor StatusVendor

SUSE

Severity: Medium
Product Status
openSUSE Tumbleweed Fixed
SUSE Linux Enterprise High Availability Extension 15 SP7 Fixed
SUSE Linux Enterprise High Availability Extension 15 SP7 Fixed
SUSE Linux Enterprise High Availability Extension 16.1 Fixed
SUSE Linux Enterprise High Performance Computing 15 SP7 Fixed

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy