CVE-2025-61771

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

HIGH
7.5
CVSS Score
Published: October 7, 2025 at 02:42 PM UTC
Updated: October 19, 2026 at 04:10 PM UTC
1 product affected across 1 vendorRack

Using rack by rack?

Get instant alerts when new vulnerabilities affect rack - before attackers find them.

Real-time alertsTrack your software stackFree plan available
Severity
HIGH7.5
Exploit prediction
EPSS 0.6%
SSVC
No known exploit

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.

Affected

Our own answer: ranges merged, affected separated from platform-only, with confidence and review flags.

Rack· Rackrubygems
95%
v < 2.2.193.1.0 ≤ v < 3.1.173.2.0 ≤ v < 3.2.2
Affected range stops below 2.2.19, so it looks safe — our inference, not a vendor statement
Affected range stops below 3.1.17, so it looks safe — our inference, not a vendor statement
Affected range stops below 3.2.2, so it looks safe — our inference, not a vendor statement

SSVC — Action Prioritization

SSVCNo known exploitAutomatablePartial impact

SSVC signals action urgency (what to patch first), separate from CVSS which measures severity.

CVSS

7.5HIGHGitHub_M
Attack Vector
NETWORK
Complexity
LOW
Privileges
NONE
User Interaction
NONE
Scope
UNCHANGED
Confidentiality
NONE
Integrity
NONE
Availability
HIGH
Vector?

Quick Info

StatusANALYZED
CWE
CWE-400

Get alerted

Stop reading CVE feeds looking for your own stack

Track the products you run and VulnTracker tells you when a new CVE affects them — with what is known about fixing it, and nothing about the rest.

Free plan, no card