CVE-2025-46727 json
Unbounded-Parameter DoS in Rack::QueryParser
published 2025-05-07 18 mo ago modified 2026-09-10 1 mo ago also EUVD-2025-13948 , GHSA-gjh7-p2fx-99vx
- cvss
- 7.5
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 1.2%
- EPSS 1.2% chance of exploitation in 30 days, percentile 69%
- public exploits
- 0
- none known
Summary
Rack is a modular Ruby web server interface. Prior to versions 2.2.14, 3.0.16, and 3.1.14, `Rack::QueryParser` parses query strings and `application/x-www-form-urlencoded` bodies into Ruby data structures without imposing any limit on the number of parameters, allowing attackers to send requests with extremely large numbers of parameters. The vulnerability arises because `Rack::QueryParser` iterates over each `&`-separated key-value pair and adds it to a Hash without enforcing an upper bound on the total number of parameters. This allows an attacker to send a single request containing hundreds of thousands (or more) of parameters, which consumes excessive memory and CPU during parsing. An attacker can trigger denial of service by sending specifically crafted HTTP requests, which can cause memory exhaustion or pin CPU resources, stalling or crashing the Rack server. This results in full service disruption until the affected worker is restarted. Versions 2.2.14, 3.0.16, and 3.1.14 fix the issue. Some other mitigations are available. One may use middleware to enforce a maximum query string size or parameter count, or employ a reverse proxy (such as Nginx) to limit request sizes and reject oversized query strings or bodies. Limiting request body sizes and query string lengths at the web server or CDN level is an effective mitigation.
Patch / fix
- rubygems rack 2.2.14, 3.0.16, 3.1.14
- rack rack 2.2.14, 3.0.16, 3.1.14
- rack_project rack 2.2.14, 3.0.16, 3.1.14
- ruby-rack Debian 12 2.2.20-0+deb12u1
- ruby-rack Debian 14, Debian 13 3.1.16-0.1
debian advisories DEBIAN-CVE-2025-46727
- ruby-rack Ubuntu 22.04 LTS 2.1.4-5ubuntu1.2
- ruby-rack Ubuntu 24.04 LTS 2.2.7-1ubuntu0.3
- ruby-rack Ubuntu 25.10 3.1.16-0.1
- ruby-rack Ubuntu Pro 20.04 LTS 2.0.7-2ubuntu0.1+esm7
- ruby-rack Ubuntu Pro 22.04 LTS 2.1.4-5ubuntu1.1+esm2
ubuntu advisories UBUNTU-CVE-2025-46727
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
- cjson satellite capsule 6.15, satellite 6.15 1.7.18-1.el8sat
- rubygem-rack satellite capsule 6.16, satellite capsule 6.15, satellite 6.16 +1 more 2.2.14-1.el8sat
- python-sqlparse satellite capsule 6.15, satellite 6.15 0.5.0-1.el8pc
- python3.11-sqlparse satellite capsule 6.15, satellite 6.15 0.5.0-1.el8pc
- pcs RHEL 10.0 0.12.0-3.el10_0.2
- pcs-snmp RHEL 10.0 0.12.0-3.el10_0.2
- cockpit-ha-cluster RHEL 10.0 0.12.0-3.el10_0.2
- pcs RHEL 7 0.9.169-3.el7_9.4
red hat advisories RHSA-2025:9838RHSA-2025:8323RHSA-2025:8319RHSA-2025:8322RHSA-2025:8290RHSA-2025:8291
- rmt-server SLES for SAP 15 SP5, SLES 15 SP5-LTSS, SLE Module for Server Applications 15 SP6 +5 more 2.23-150500.3.34.2
- rmt-server SLES for SAP 15 SP3, SLES 15 SP3-LTSS, SLE Module for Public Cloud 15 SP3 +2 more 2.23-150300.3.54.1
- rmt-server SLE Module for Server Applications 15 SP7, SLE Module for Public Cloud 15 SP7 2.23-150700.3.6.1
- rmt-server SLES for SAP 15 SP4, SLES 15 SP4-LTSS, SLE Module for Public Cloud 15 SP4 +4 more 2.23-150400.3.42.1
- rubygem-rack SLE High Availability Extension 15 SP7, SLE High Availability Extension 15 SP6, SLE High Availability Extension 15 SP5 +3 more 2.0.8-150000.3.31.1
suse advisories SUSE-SU-2025:02564-1SUSE-SU-2025:02429-1SUSE-SU-2025:02330-1SUSE-SU-2025:02329-1SUSE-SU-2025:01586-2SUSE-SU-2025:01586-1
- rubygem-rack-2.2 openSUSE Tumbleweed 2.2.22-1.1
- rubygem-rack-2.2 openSUSE Tumbleweed 2.2.14-1.1
opensuse advisories openSUSE-SU-2026:10286-1openSUSE-SU-2025:15067-1
- pcs AlmaLinux 8 0.10.18-2.el8_10.5.alma.1
- pcs-snmp AlmaLinux 8 0.10.18-2.el8_10.5.alma.1
almalinux advisories ALSA-2025:8254
- pcs Rocky Linux 9 0.11.9-2.el9_6.1
- pcs Rocky Linux 8 0.10.18-2.el8_10.5
rocky linux advisories RLSA-2025:8256RLSA-2025:8254
- github.com/rack/rack@2bb5263 commit
- github.com/rack/rack@3f5a424 commit
- github.com/rack/rack@cd6b70a 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-46727 updated cvss 7.5
rubygem-rack: Unbounded-Parameter DoS in Rack::QueryParser
-
Red Hat Logging Subsystem for Red Hat OpenShift openshift-logging/fluentd-rhel8, openshift-logging/fluentd-rhel9affected: workaround, no fix available
-
Red Hat 3scale API Management Platform 2 3scale-amp2/zync-rhel8, 3scale-amp2/zync-rhel9affected: workaround, no fix planned “Will not fix”
-
Red Hat Satellite 6 rubygem-rackaffected: workaround, no fix available
-
Red Hat Enterprise Linux High Availability (v. 9) pcs 0.11.9-2.el9_6.1, pcs-snmp 0.11.9-2.el9_6.1fixed: vendor fix RHSA-2025:8256
-
Red Hat Enterprise Linux High Availability (v. 10) pcs 0.12.0-3.el10_0.2, pcs-snmp 0.12.0-3.el10_0.2, cockpit-ha-cluster 0.12.0-3.el10_0.2fixed: vendor fix RHSA-2025:8319
-
Red Hat Enterprise Linux High Availability AUS (v.8.4) pcs 0.10.8-1.el8_4.7, pcs-snmp 0.10.8-1.el8_4.7fixed: vendor fix RHSA-2025:8323
-
Red Hat Enterprise Linux High Availability E4S (v.8.6) pcs 0.10.12-6.el8_6.8, pcs-snmp 0.10.12-6.el8_6.8fixed: vendor fix RHSA-2025:8290
-
Red Hat Enterprise Linux High Availability E4S (v.9.0) pcs 0.11.1-10.el9_0.8, pcs-snmp 0.11.1-10.el9_0.8fixed: vendor fix RHSA-2025:8291
show 17 moreshow fewer
-
Red Hat Enterprise Linux High Availability EUS (v.8.8) pcs 0.10.15-4.el8_8.6, pcs-snmp 0.10.15-4.el8_8.6fixed: vendor fix RHSA-2025:8279
-
Red Hat Enterprise Linux High Availability EUS (v.9.2) pcs 0.11.4-7.el9_2.5, pcs-snmp 0.11.4-7.el9_2.5fixed: vendor fix RHSA-2025:8289
-
Red Hat Enterprise Linux High Availability EUS (v.9.4) pcs 0.11.7-2.el9_4.4, pcs-snmp 0.11.7-2.el9_4.4fixed: vendor fix RHSA-2025:8288
-
Red Hat Enterprise Linux High Availability TUS (v.8.6) pcs 0.10.12-6.el8_6.8, pcs-snmp 0.10.12-6.el8_6.8fixed: vendor fix RHSA-2025:8290
-
Red Hat Enterprise Linux HighAvailability (v. 8) pcs 0.10.18-2.el8_10.5, pcs-snmp 0.10.18-2.el8_10.5fixed: vendor fix RHSA-2025:8254
-
Red Hat Enterprise Linux HighAvailability E4S (v.8.4) pcs 0.10.8-1.el8_4.7, pcs-snmp 0.10.8-1.el8_4.7 Red Hat Enterprise Linux HighAvailability TUS (v.8.4) pcs 0.10.8-1.el8_4.7, pcs-snmp 0.10.8-1.el8_4.7fixed: vendor fix RHSA-2025:8323
-
Red Hat Enterprise Linux Resilient Storage (v. 9) pcs 0.11.9-2.el9_6.1, pcs-snmp 0.11.9-2.el9_6.1fixed: vendor fix RHSA-2025:8256
-
Red Hat Enterprise Linux Resilient Storage EUS (v.8.8) pcs 0.10.15-4.el8_8.6, pcs-snmp 0.10.15-4.el8_8.6fixed: vendor fix RHSA-2025:8279
-
Red Hat Enterprise Linux Resilient Storage EUS (v.9.2) pcs 0.11.4-7.el9_2.5, pcs-snmp 0.11.4-7.el9_2.5fixed: vendor fix RHSA-2025:8289
-
Red Hat Enterprise Linux Resilient Storage EUS (v.9.4) pcs 0.11.7-2.el9_4.4, pcs-snmp 0.11.7-2.el9_4.4fixed: vendor fix RHSA-2025:8288
-
Red Hat Enterprise Linux ResilientStorage (v. 8) pcs 0.10.18-2.el8_10.5, pcs-snmp 0.10.18-2.el8_10.5fixed: vendor fix RHSA-2025:8254
-
Red Hat Enterprise Linux ResilientStorage E4S (v.9.0) pcs 0.11.1-10.el9_0.8, pcs-snmp 0.11.1-10.el9_0.8fixed: vendor fix RHSA-2025:8291
-
Red Hat Enterprise Linux Server HighAvailability (v. 7 ELS) pcs 0.9.169-3.el7_9.4, pcs-snmp 0.9.169-3.el7_9.4 Red Hat Enterprise Linux Server ResilientStorage (v. 7 ELS) pcs 0.9.169-3.el7_9.4, pcs-snmp 0.9.169-3.el7_9.4fixed: vendor fix RHSA-2025:8322
-
Red Hat Satellite 6.15 for RHEL 8 rubygem-rack 2.2.14-1.el8satfixed: vendor fix RHSA-2025:9838
-
Red Hat Satellite 6.16 for RHEL 8 rubygem-rack 2.2.14-1.el8sat Red Hat Satellite 6.16 for RHEL 9 rubygem-rack 2.2.14-1.el9satfixed: vendor fix RHSA-2025:7605
-
Red Hat Satellite 6.17 for RHEL 9 rubygem-rack 2.2.14-1.el9satfixed: vendor fix RHSA-2025:7604
-
Red Hat Satellite 6.15 for RHEL 8 cjson 1.7.18-1.el8sat, satellite 6.15.5.3-1.el8sat, python-sqlparse 0.5.0-1.el8pc, satellite-cli 6.15.5.3-1.el8sat, python3.11-sqlparse 0.5.0-1.el8pc, satellite-common 6.15.5.3-1.el8sat, +2 more Red Hat Satellite 6.16 for RHEL 8 satellite 6.16.5.1-1.el8sat, python-pulp-rpm 3.26.5-1.el8pc, python-pulpcore 3.49.39-1.el8pc, satellite-cli 6.16.5.1-1.el8sat, python3.11-pulp-rpm 3.26.5-1.el8pc, rubygem-katello 4.14.0.13-1.el8sat, +3 more Red Hat Satellite 6.16 for RHEL 9 satellite 6.16.5.1-1.el9sat, python-pulp-rpm 3.26.5-1.el9pc, python-pulpcore 3.49.39-1.el9pc, satellite-cli 6.16.5.1-1.el9sat, python3.11-pulp-rpm 3.26.5-1.el9pc, rubygem-katello 4.14.0.13-1.el9sat, +3 more Red Hat Satellite 6.17 for RHEL 9 satellite 6.17.0.1-1.el9sat, satellite-cli 6.17.0.1-1.el9sat, satellite-common 6.17.0.1-1.el9sat, satellite-capsule 6.17.0.1-1.el9sat, satellite-obsolete-packages 6.17.0.1-1.el9satnot affected: vulnerable code 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
- 18 mo ago
Exploit prediction
1.23% chance of exploitation in the next 30 days, higher than 69% 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 |
| NVD | 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.14 >=3.0, <3.0.16 >=3.1, <3.1.14 |
2.2.14 3.0.16 3.1.14 |
Affected products
- rack rack
Classification
References
-
github.com
/rack/rack/commit/2bb5263b464b65ba4b648996a579dbd180d2b712
web, patch
-
github.com
/rack/rack/commit/3f5a4249118d09d199fe480466c8c6717e43b6e3
web, patch
-
github.com
/rack/rack/commit/cd6b70a1f2a1016b73dc906f924869f4902c2d74
web, patch
-
github.com
/rack/rack/security/advisories/GHSA-gjh7-p2fx-99vx
web, mitigation, vendor-advisory
-
nvd.nist.gov
/vuln/detail/CVE-2025-46727
advisory
-
github.com
/rack/rack
package
-
github.com
/rubysec/ruby-advisory-db/blob/master/gems/rack/CVE-2025-46727.yml
web
Sources
- CVE List CVE-2025-46727
- GitHub Advisory GHSA-gjh7-p2fx-99vx
- NVD CVE-2025-46727
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.