Rack's multipart parser buffers large non‑file fields entirely in memory, enabling DoS (memory exhaustion)
Default status is the baseline for the product, each version can override it (e.g. patched versions marked unaffected).
| Vendor | Product | Default status | Versions | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| rack | rack | affected |
|
Configuration 1 [-]
|
No data.
| Vendor | Product | Versions |
|---|---|---|
| Rack | Rack | — |
| Source | ID | Title |
|---|---|---|
Debian DLA |
DLA-4357-1 | ruby-rack security update |
Debian DSA |
DSA-6048-1 | ruby-rack security update |
Github GHSA |
GHSA-w9pc-fmgc-vxvw | Rack: Multipart parser buffers large non‑file fields entirely in memory, enabling DoS (memory exhaustion) |
No CVSS v4.0
No CVSS v3.0
No CVSS v2
This CVE is not in the KEV list.
Exploit prediction score: < 1% (0.566% probability within 30 days)
| Type | Values Removed | Values Added |
|---|---|---|
| References |
| |
| Metrics |
threat_severity
|
threat_severity
|
| Type | Values Removed | Values Added |
|---|---|---|
| CPEs | cpe:2.3:a:rack:rack:*:*:*:*:*:ruby:*:* |
| Type | Values Removed | Values Added |
|---|---|---|
| First Time appeared |
Rack
Rack rack |
|
| Vendors & Products |
Rack
Rack rack |
| Type | Values Removed | Values Added |
|---|---|---|
| Metrics |
ssvc
|
| Type | Values Removed | Values Added |
|---|---|---|
| Description | 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` stores non-file form fields (parts without a `filename`) entirely in memory as Ruby `String` objects. A single large text field in a multipart/form-data request (hundreds of megabytes or more) can consume equivalent process memory, potentially leading to out-of-memory (OOM) conditions and denial of service (DoS). Attackers can send large non-file fields to trigger excessive memory usage. Impact scales with request size and concurrency, potentially leading to worker crashes or severe garbage-collection overhead. All Rack applications processing multipart form submissions are affected. Versions 2.2.19, 3.1.17, and 3.2.2 enforce a reasonable size cap for non-file fields (e.g., 2 MiB). Workarounds include restricting maximum request body size at the web-server or proxy layer (e.g., Nginx `client_max_body_size`) and validating and rejecting unusually large form fields at the application level. | |
| Title | Rack's multipart parser buffers large non‑file fields entirely in memory, enabling DoS (memory exhaustion) | |
| Weaknesses | CWE-400 | |
| References |
| |
| Metrics |
cvssV3_1
|