← back
CVE-2025-61771highCWE-400

Rack's multipart parser buffers large non‑file fields entirely in memory, enabling DoS (memory exhaustion)

21Vexday Risk Score

No sign of exploitation. No public exploitation artifact known so far.

ssvc Trackcvss 7.5epss 0.5%
exploitation probability
0.5%top 58% of all CVEs
observed exploitation
nono source reports it
In short

Rack's form parser loads non-file text fields entirely into memory without limits, allowing attackers to send huge text fields that exhaust server memory and crash the application.

Technical detail

Rack::Multipart::Parser in versions <2.2.19, 3.1.x <3.1.17, and 3.2.x <3.2.2 stores unbounded non-file multipart fields as String objects in memory (CWE-400). An attacker can send multipart/form-data requests with large text fields (hundreds of MB+) to trigger OOM conditions and DoS; impact is amplified under concurrency. Fixed in 2.2.19, 3.1.17, and 3.2.2 with a 2 MiB cap on non-file fields.

Summary generated and translated by AI from the official 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.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Affected products
rack · rack