CVE-2025-61771

Source
https://nvd.nist.gov/vuln/detail/CVE-2025-61771
Import Source
https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2025-61771.json
JSON Data
https://api.osv.dev/v1/vulns/CVE-2025-61771
Aliases
Downstream
Related
Published
2025-10-07T15:16:03Z
Modified
2025-10-11T08:50:25.227672Z
Summary
[none]
Details

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.

References

Affected packages

Git / github.com/rack/rack

Affected ranges

Type
GIT
Repo
https://github.com/rack/rack
Events
Introduced
0 Unknown introduced commit / All previous commits are affected
Fixed
Fixed
Fixed

Affected versions

0.*

0.1
0.2
0.3

1.*

1.0
1.1
1.2
1.2.1
1.3.0
1.3.0.beta
1.3.0.beta2
1.4.0
1.4.1
1.5.0
1.5.1
1.5.2
1.6.0
1.6.0.beta
1.6.0.beta2

2.*

2.0.0
2.0.0.alpha
2.0.0.rc1
2.0.1
2.1.0
2.2.0
2.2.3
2.2.3.1
2.2.4

3.*

3.0.0
3.0.0.beta1
3.0.0.rc1

v2.*

v2.2.1
v2.2.10
v2.2.11
v2.2.12
v2.2.13
v2.2.14
v2.2.15
v2.2.16
v2.2.17
v2.2.18
v2.2.2
v2.2.5
v2.2.6
v2.2.6.1
v2.2.6.2
v2.2.6.3
v2.2.6.4
v2.2.7
v2.2.8
v2.2.8.1
v2.2.9

v3.*

v3.0.1
v3.0.2
v3.0.3
v3.0.4
v3.0.4.1
v3.1.0
v3.1.1
v3.1.10
v3.1.11
v3.1.12
v3.1.13
v3.1.14
v3.1.15
v3.1.16
v3.1.2
v3.1.3
v3.1.4
v3.1.5
v3.1.6
v3.1.7
v3.1.8
v3.1.9
v3.2.0
v3.2.1