CVE-2025-61770 json
Rack's unbounded multipart preamble buffering enables DoS (memory exhaustion)
published 2025-10-07 13 mo ago modified 2026-10-19 20 d ago also EUVD-2025-32057 , GHSA-p543-xpfm-54cp
- cvss
- 7.5
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.9%
- EPSS 0.9% chance of exploitation in 30 days, percentile 60%
- public exploits
- 0
- none known
Summary
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` buffers the entire multipart preamble (bytes before the first boundary) in memory without any size limit. A client can send a large preamble followed by a valid boundary, causing significant memory use and potential process termination due to out-of-memory (OOM) conditions. Remote attackers can trigger large transient memory spikes by including a long preamble in multipart/form-data requests. The impact scales with allowed request sizes and concurrency, potentially causing worker crashes or severe slowdown due to garbage collection. Versions 2.2.19, 3.1.17, and 3.2.2 enforce a preamble size limit (e.g., 16 KiB) or discard preamble data entirely. Workarounds include limiting total request body size at the proxy or web server level and monitoring memory and set per-process limits to prevent OOM conditions.
Patch / fix
- rubygems rack 2.2.19, 3.1.17, 3.2.2
- rack rack 2.2.19, 3.1.17, 3.2.2
- rack_project rack 2.2.19, 3.1.17, 3.2.2
- ruby-rack Debian 12 2.2.20-0+deb12u1
- ruby-rack Debian 13 3.1.18-1~deb13u1
- ruby-rack Debian 14 3.1.18-1
debian advisories DEBIAN-CVE-2025-61770
- ruby-rack Ubuntu 22.04 LTS 2.1.4-5ubuntu1.2
- ruby-rack Ubuntu 24.04 LTS 2.2.7-1ubuntu0.5
- ruby-rack Ubuntu 25.10 3.1.16-0.1ubuntu0.1
ubuntu advisories UBUNTU-CVE-2025-61770
Ubuntu security data © Canonical Ltd., from https://github.com/canonical/ubuntu-security-notices via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0
- pcs RHEL 7 0.9.169-3.el7_9.5
- pcs-snmp RHEL 7 0.9.169-3.el7_9.5
- pcs RHEL 10.1 0.12.1-1.el10_1.1
- pcs-snmp RHEL 10.1 0.12.1-1.el10_1.1
- cockpit-ha-cluster RHEL 10.1 0.12.1-1.el10_1.1
- pcs RHEL 9 0.11.10-1.el9_7.1
- pcs-snmp RHEL 9 0.11.10-1.el9_7.1
- pcs RHEL 8 0.10.18-2.el8_10.7
red hat advisories RHSA-2025:21696RHSA-2025:21036RHSA-2025:20962RHSA-2025:19948RHSA-2025:19800RHSA-2025:19736
- rubygem-rack-2.2 openSUSE Tumbleweed 2.2.22-1.1
- rubygem-rack-2.2 openSUSE Tumbleweed 2.2.19-1.1
opensuse advisories openSUSE-SU-2026:10286-1openSUSE-SU-2025:15621-1
- pcs AlmaLinux 9 0.11.10-1.el9_7.1
- pcs-snmp AlmaLinux 9 0.11.10-1.el9_7.1
- cockpit-ha-cluster AlmaLinux 10 0.12.1-1.el10_1.1
- pcs AlmaLinux 8 0.10.18-2.el8_10.7.alma.1
- pcs-snmp AlmaLinux 8 0.10.18-2.el8_10.7.alma.1
almalinux advisories ALSA-2025:20962ALSA-2025:21036ALSA-2025:19719
- pcs Rocky Linux 9 0.11.10-1.el9_7.1
- pcs Rocky Linux 9 0.11.9-2.el9_6.2
- pcs Rocky Linux 8 0.10.18-2.el8_10.7
rocky linux advisories RLSA-2025:20962RLSA-2025:19512RLSA-2025:19719
- github.com/rack/rack@589127f commit
- github.com/rack/rack@d869fed commit
- github.com/rack/rack@e08f78c commit
Vendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2025-61770 updated cvss 7.5
rack: Rack's unbounded multipart preamble buffering enables DoS (memory exhaustion)
-
Red Hat 3scale API Management Platform 2 3scale-amp21/zync, 3scale-amp22/zync, 3scale-amp24/zync, 3scale-amp25/zync, 3scale-amp26/zync, 3scale-amp2/zync-rhel7, +2 moreaffected: no fix available, no fix planned “Will not fix”
-
Red Hat Enterprise Linux High Availability (v. 9) pcs 0.11.9-2.el9_6.2, pcs 0.11.10-1.el9_7.1, pcs-snmp 0.11.9-2.el9_6.2, pcs-snmp 0.11.10-1.el9_7.1fixed: vendor fix RHSA-2025:19512
-
Red Hat Enterprise Linux High Availability (v. 10) pcs 0.12.0-3.el10_0.3, pcs 0.12.1-1.el10_1.1, pcs-snmp 0.12.0-3.el10_0.3, pcs-snmp 0.12.1-1.el10_1.1, cockpit-ha-cluster 0.12.0-3.el10_0.3, cockpit-ha-cluster 0.12.1-1.el10_1.1fixed: vendor fix RHSA-2025:19513
-
Red Hat Enterprise Linux High Availability AUS (v.8.4) pcs 0.10.8-1.el8_4.8, pcs-snmp 0.10.8-1.el8_4.8fixed: vendor fix RHSA-2025:19948
-
Red Hat Enterprise Linux High Availability E4S (v.8.6) pcs 0.10.12-6.el8_6.10, pcs-snmp 0.10.12-6.el8_6.10fixed: vendor fix RHSA-2025:19734
-
Red Hat Enterprise Linux High Availability E4S (v.8.8) pcs 0.10.15-4.el8_8.9, pcs-snmp 0.10.15-4.el8_8.9fixed: vendor fix RHSA-2025:19647
-
Red Hat Enterprise Linux High Availability E4S (v.9.0) pcs 0.11.1-10.el9_0.9, pcs-snmp 0.11.1-10.el9_0.9fixed: vendor fix RHSA-2025:19800
-
Red Hat Enterprise Linux High Availability E4S (v.9.2) pcs 0.11.4-7.el9_2.6, pcs-snmp 0.11.4-7.el9_2.6fixed: vendor fix RHSA-2025:19733
show 13 moreshow fewer
-
Red Hat Enterprise Linux High Availability EUS (v.9.4) pcs 0.11.7-2.el9_4.5, pcs-snmp 0.11.7-2.el9_4.5fixed: vendor fix RHSA-2025:19736
-
Red Hat Enterprise Linux High Availability TUS (v.8.6) pcs 0.10.12-6.el8_6.10, pcs-snmp 0.10.12-6.el8_6.10fixed: vendor fix RHSA-2025:19734
-
Red Hat Enterprise Linux High Availability TUS (v.8.8) pcs 0.10.15-4.el8_8.9, pcs-snmp 0.10.15-4.el8_8.9fixed: vendor fix RHSA-2025:19647
-
Red Hat Enterprise Linux HighAvailability (v. 8) pcs 0.10.18-2.el8_10.7, pcs-snmp 0.10.18-2.el8_10.7fixed: vendor fix RHSA-2025:19719
-
Red Hat Enterprise Linux HighAvailability EUS EXTENSION (v.8.4) pcs 0.10.8-1.el8_4.8, pcs-snmp 0.10.8-1.el8_4.8fixed: vendor fix RHSA-2025:19948
-
Red Hat Enterprise Linux Resilient Storage (v. 9) pcs 0.11.9-2.el9_6.2, pcs 0.11.10-1.el9_7.1, pcs-snmp 0.11.9-2.el9_6.2, pcs-snmp 0.11.10-1.el9_7.1fixed: vendor fix RHSA-2025:19512
-
Red Hat Enterprise Linux Resilient Storage E4S (v.9.2) pcs 0.11.4-7.el9_2.6, pcs-snmp 0.11.4-7.el9_2.6fixed: vendor fix RHSA-2025:19733
-
Red Hat Enterprise Linux Resilient Storage EUS (v.9.4) pcs 0.11.7-2.el9_4.5, pcs-snmp 0.11.7-2.el9_4.5fixed: vendor fix RHSA-2025:19736
-
Red Hat Enterprise Linux ResilientStorage (v. 8) pcs 0.10.18-2.el8_10.7, pcs-snmp 0.10.18-2.el8_10.7fixed: vendor fix RHSA-2025:19719
-
Red Hat Enterprise Linux ResilientStorage E4S (v.9.0) pcs 0.11.1-10.el9_0.9, pcs-snmp 0.11.1-10.el9_0.9fixed: vendor fix RHSA-2025:19800
-
Red Hat Enterprise Linux Server HighAvailability (v. 7 ELS) pcs 0.9.169-3.el7_9.5, pcs-snmp 0.9.169-3.el7_9.5 Red Hat Enterprise Linux Server ResilientStorage (v. 7 ELS) pcs 0.9.169-3.el7_9.5, pcs-snmp 0.9.169-3.el7_9.5fixed: vendor fix RHSA-2025:21696
-
Red Hat Logging Subsystem for Red Hat OpenShift openshift-logging/vector-rhel9, openshift-logging/fluentd-rhel8, openshift-logging/fluentd-rhel9, openshift-logging/eventrouter-rhel9, openshift-logging/logging-view-plugin-rhel9, openshift-logging/cluster-logging-rhel9-operator, +2 more Red Hat Enterprise Linux 6 ruby, ruby-ri, ruby-irb, ruby-libs, ruby-rdoc, ruby-tcltk Red Hat Enterprise Linux 7 ruby, ruby-irb, rubygems, ruby-libs, ruby-tcltk, rubygem-json, +6 more Red Hat Enterprise Linux 8 ruby, ruby-irb, rubygems, ruby-libs, rubygem-pg, rubygem-irb, +25 more Red Hat Enterprise Linux 9 ruby, rubygems, ruby-libs, rubygem-irb, rubygem-rbs, rubygem-rss, +13 more Red Hat Enterprise Linux 10 rubynot affected: vulnerable code not present
+3 more productsfewer
Red Hat OpenShift AI (RHOAI) rhoai/odh-workbench-codeserver-datascience-cpu-py312-rhel9 Red Hat OpenShift Container Platform 4 openshift/ose-rhel-coreos-9 Red Hat OpenShift Dev Spaces devspaces/code-rhel9, devspaces-tech-preview/idea-rhel9 -
Red Hat OpenStack Platform 13 (Queens) rhosp13/openstack-cron, rhosp13/openstack-etcd, rhosp13/openstack-redis, rhosp13/openstack-iscsid, rhosp13/openstack-fluentd, rhosp13/openstack-haproxy, +21 morenot affected: component not present
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
CISA SSVC
- Exploitation
- none
- Automatable
- yes
- Technical impact
- partial
- Assessed
- 13 mo ago
Exploit prediction
0.93% chance of exploitation in the next 30 days, higher than 60% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 7.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H |
| GitHub | 3.1 | 7.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| rubygems | rack | <2.2.19 >=3.1, <3.1.17 >=3.2, <3.2.2 |
2.2.19 3.1.17 3.2.2 |
Affected products
- rack rack
Classification
- Weakness
-
- CWE-400 Uncontrolled Resource Consumption
References
-
github.com
/rack/rack/commit/589127f4ac8b5cf11cf88fb0cd116ffed4d2181e
web, patch
-
github.com
/rack/rack/commit/d869fed663b113b95a74ad53e1b5cae6ab31f29e
web, patch
-
github.com
/rack/rack/commit/e08f78c656c9394d6737c022bde087e0f33336fd
web, patch
-
github.com
/rack/rack/security/advisories/GHSA-p543-xpfm-54cp
web, mitigation, vendor-advisory
-
nvd.nist.gov
/vuln/detail/CVE-2025-61770
advisory
-
github.com
/rack/rack
package
-
github.com
/rubysec/ruby-advisory-db/blob/master/gems/rack/CVE-2025-61770.yml
web
Sources
- CVE List CVE-2025-61770
- GitHub Advisory GHSA-p543-xpfm-54cp
- NVD CVE-2025-61770
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.
CPEs and fixed versions use Anchore's correction of NVD's data: Added CPE configurations because not yet analyzed by NVD.