Skip to main content

Rack CVE-2026-26961

| EUVDEUVD-2026-18368 MEDIUM
Interpretation Conflict (CWE-436)
2026-04-02 security-advisories@github.com GHSA-vgpv-f759-9wx3
5.3
CVSS 3.1 · NVD
View

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V4 - API and Web Service Interpretation consistency
Impact

The CVSS score of 3.7 reflects low severity (low impact, high attack complexity), indicating this is not a critical vulnerability on its face. However, the real-world risk is context-dependent. The attack vector is network-accessible and requires no authentication (PR:N), but attack complexity is high (AC:H), suggesting the attacker must craft a specific request structure. Integrity impact is low (I:L), as the primary concern is request smuggling to bypass inspection rather than data modification. The KEV (CISA Known Exploited Vulnerabilities) status is not confirmed in the provided data, and no public proof-of-concept is noted, indicating no confirmed active exploitation at the time of analysis. However, the vulnerability's practical impact is significant in specific deployment scenarios: organizations running Rack behind WAF or proxy infrastructure that validates multipart requests face a genuine request smuggling risk that could enable injection attacks, malware upload, or other payloads to bypass security controls. The high attack complexity mitigates this somewhat, but the presence of upstream inspection systems in many production deployments elevates the real-world concern beyond the CVSS score alone. This is a priority issue for Rack users in security-conscious deployments but lower risk for applications without upstream validation layers.

Exploit ScenarioDerived

An attacker targets a Ruby web application (e.g., a Rails app) deployed behind a WAF configured to inspect multipart uploads for malicious content. The attacker crafts an HTTP POST request with a Content-Type header containing two boundary parameters: Content-Type: multipart/form-data; boundary=safe; boundary=exploit. The WAF sees the first boundary (safe) and validates the multipart body accordingly, allowing the request through. However, Rack's parser extracts the last boundary (exploit) and parses the body using that delimiter instead, revealing a hidden malicious payload (e.g., a PHP shell or malware) that was obscured from the WAF. The attacker's malicious file is then processed by the application, bypassing the upstream security control. Attack complexity is high because the attacker must carefully craft the multipart structure to be benign for the first boundary and malicious for the second, but such attacks are feasible with knowledge of the target application's form handling.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.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's multipart form data parser uses a greedy regular expression that selects the last boundary parameter from a Content-Type header instead of the first, allowing request smuggling when upstream proxies or WAFs interpret the first boundary. This mismatch enables attackers to bypass upstream inspection by crafting multipart requests with duplicate boundary declarations, causing Rack to parse a different body structure than the intermediary validated. Affected versions are Rack prior to 2.2.23, 3.1.21, and 3.2.6; patches are available for all three release branches.

RemediationAI

Vendor-released patches are available: upgrade Rack to version 2.2.23 or later for the 2.2.x branch, version 3.1.21 or later for the 3.1.x branch, or version 3.2.6 or later for the 3.2.x branch. For Rails applications, update the Rack gem in your Gemfile and run bundle update rack. For other Rack-based applications, update via your package manager or gem install. The fix modifies the boundary parameter extraction logic to use the first occurrence rather than the last, aligning Rack's parsing with upstream proxy and WAF behavior. No known workarounds exist short of upgrading, though organizations may temporarily mitigate risk by disabling upstream multipart inspection or implementing application-level validation until patches can be deployed. Consult the official advisory at https://github.com/rack/rack/security/advisories/GHSA-vgpv-f759-9wx3 for additional guidance and coordinated disclosure timeline.

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 foundational Ruby web server interface specification that abstracts HTTP request/response handling. The Rack::Multipart::Parser component processes multipart/form-data requests, which are commonly used for file uploads and form submissions. The vulnerability stems from CWE-436 (Interpretation Conflict), where the parser's greedy regex extraction of the boundary parameter from the Content-Type header deviates from the HTTP specification's convention of using the first occurrence. The boundary parameter delimits form fields and file payloads in multipart bodies. When an intermediary (proxy, WAF, reverse proxy) parses the same header and selects the first boundary per standard convention, but Rack selects the last due to its greedy regex, the two systems interpret the request body differently. An attacker can exploit this discrepancy by including multiple boundary parameters in the Content-Type header, allowing content intended for the second (Rack-parsed) boundary to pass through upstream inspection configured for the first boundary.

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 5.3 MEDIUM
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N
SUSE 3.7 MEDIUM
AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:N
Red Hat 3.7 LOW

Primary rating from NVD.

CVSS VectorNVD

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

Lifecycle Timeline

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

DescriptionNVD

Rack is a modular Ruby web server interface. Prior to versions 2.2.23, 3.1.21, and 3.2.6, Rack::Multipart::Parser extracts the boundary parameter from multipart/form-data using a greedy regular expression. When a Content-Type header contains multiple boundary parameters, Rack selects the last one rather than the first. In deployments where an upstream proxy, WAF, or intermediary interprets the first boundary parameter, this mismatch can allow an attacker to smuggle multipart content past upstream inspection and have Rack parse a different body structure than the intermediary validated. 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 92% exploitable
Threat Intel
1
1 source
Data Quality
7 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 MEDIUM
CISA KEV No
Public POC No
EPSS 0.0%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.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

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

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

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: Moderate
Product Status
Container suse/rmt-server:2.27-79.22 Affected
SUSE Linux Enterprise High Performance Computing 15 SP4-ESPOS Fixed
SUSE Linux Enterprise High Performance Computing 15 SP4-LTSS Fixed
SUSE Linux Enterprise High Performance Computing 15 SP4 SUSE Linux Enterprise Module for Public Cloud 15 SP4 SUSE Linux Enterprise Server 15 SP4 SUSE Manager Proxy 4.3 SUSE Manager Retail Branch Server 4.3 SUSE Manager Server 4.3 Fixed
SUSE Linux Enterprise High Performance Computing 15 SP5-ESPOS Fixed

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