Skip to content
OpenAdvisories
High · 7.5 CVE-2025-46727 EUVD-2025-13948GHSA-gjh7-p2fx-99vx

Unbounded-Parameter DoS in Rack::QueryParser

Published May 7, 2025 · Updated May 8, 2025 · Assigned by GitHub_M

Description

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.

Affected products

VendorProductAffectedFixed
rack rack < 2.2.14, >= 3.0, < 3.0.16, >= 3.1, < 3.1.14 —

Fixed in Linux distributions

Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.

ReleasePackageFixed inAdvisory
Debian 14 ruby-rack 3.1.16-0.1 —
Debian 13 ruby-rack 3.1.16-0.1 —
Debian 12 ruby-rack 2.2.20-0+deb12u1 —
Debian 11 ruby-rack 2.1.4-3+deb11u4 DLA-4357-1
ReleasePackageFixed inAdvisory
Ubuntu 25.10 ruby-rack 3.1.16-0.1 —
Ubuntu 24.04 LTS ruby-rack 2.2.7-1ubuntu0.3 USN-7507-1
Ubuntu 22.04 LTS ruby-rack 2.1.4-5ubuntu1.2 —
Show 5 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
Ubuntu Pro 22.04 LTS ruby-rack 2.1.4-5ubuntu1.1+esm2 USN-7507-1
Ubuntu Pro 20.04 LTS ruby-rack 2.0.7-2ubuntu0.1+esm7 USN-7507-1
Ubuntu Pro 18.04 LTS ruby-rack 1.6.4-4ubuntu0.2+esm8 USN-7507-1
Ubuntu Pro 16.04 LTS ruby-rack 1.6.4-3ubuntu0.2+esm8 USN-7507-1
Ubuntu Pro 14.04 LTS ruby-rack 1.5.2-3+deb8u3ubuntu1~esm10 USN-7507-1
ReleasePackageFixed inAdvisory
RHEL 10 pcs +2 0.12.0-3.el10_0.2 RHSA-2025:8319
RHEL 9 pcs +1 0.11.9-2.el9_6.1 RHSA-2025:8256
RHEL 8 pcs +1 0.10.18-2.el8_10.5 RHSA-2025:8254
RHEL 7 pcs +1 0.9.169-3.el7_9.4 RHSA-2025:8322
Show 11 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
Red Hat Satellite Capsule 6 cjson 1.7.18-1.el8sat RHSA-2025:9838
Red Hat Satellite Capsule 6 python-sqlparse +1 0.5.0-1.el8pc RHSA-2025:9838
Red Hat Satellite Capsule 6 rubygem-rack 2.2.14-1.el8sat RHSA-2025:9838, RHSA-2025:7605, RHSA-2025:7604
Red Hat Satellite 6 cjson 1.7.18-1.el8sat RHSA-2025:9838
Red Hat Satellite 6 python-sqlparse +1 0.5.0-1.el8pc RHSA-2025:9838
Red Hat Satellite 6 rubygem-rack 2.2.14-1.el8sat RHSA-2025:9838, RHSA-2025:7605, RHSA-2025:7604
RHEL 9.4 EUS pcs +1 0.11.7-2.el9_4.4 RHSA-2025:8288
RHEL 9.2 EUS pcs +1 0.11.4-7.el9_2.5 RHSA-2025:8289
RHEL 9.0 E4S pcs +1 0.11.1-10.el9_0.8 RHSA-2025:8291
RHEL 8.8 EUS pcs +1 0.10.15-4.el8_8.6 RHSA-2025:8279
RHEL 8.6 TUS pcs +1 0.10.12-6.el8_6.8 RHSA-2025:8290
RHEL 8.6 E4S pcs +1 0.10.12-6.el8_6.8 RHSA-2025:8290
RHEL 8.4 TUS pcs +1 0.10.8-1.el8_4.7 RHSA-2025:8323
RHEL 8.4 E4S pcs +1 0.10.8-1.el8_4.7 RHSA-2025:8323
RHEL 8.4 AUS pcs +1 0.10.8-1.el8_4.7 RHSA-2025:8323

AlmaLinux

Errata ↗
ReleasePackageFixed inAdvisory
AlmaLinux 8 pcs +1 0.10.18-2.el8_10.5.alma.1 ALSA-2025:8254

Rocky Linux

Errata ↗
ReleasePackageFixed inAdvisory
Rocky Linux 9 pcs 0.11.9-2.el9_6.1 RLSA-2025:8256
Rocky Linux 8 pcs 0.10.18-2.el8_10.5 RLSA-2025:8254
ReleasePackageFixed inAdvisory
SLES 15 SP7 rmt-server 2.23-150700.3.6.1 SUSE-SU-2025:02330-1
SLES 15 SP7 rubygem-rack 2.0.8-150000.3.31.1 SUSE-SU-2025:01586-2
SLES 15 SP6 rmt-server 2.23-150500.3.34.2 SUSE-SU-2025:02564-1
SLES 15 SP6 rubygem-rack 2.0.8-150000.3.31.1 SUSE-SU-2025:01586-1
SLES 15 SP5 rmt-server 2.23-150500.3.34.2 SUSE-SU-2025:02564-1
SLES 15 SP5 rubygem-rack 2.0.8-150000.3.31.1 SUSE-SU-2025:01586-1
SLES 15 SP4 rmt-server 2.23-150400.3.42.1 SUSE-SU-2025:02329-1
SLES 15 SP4 rubygem-rack 2.0.8-150000.3.31.1 SUSE-SU-2025:01586-1
SLES 15 SP3 rmt-server 2.23-150300.3.54.1 SUSE-SU-2025:02429-1
SLES 15 SP3 rubygem-rack 2.0.8-150000.3.31.1 SUSE-SU-2025:01586-1
Show 9 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
SLES for SAP 15 SP5 rmt-server 2.23-150500.3.34.2 SUSE-SU-2025:02564-1
SLES for SAP 15 SP4 rmt-server 2.23-150400.3.42.1 SUSE-SU-2025:02329-1
SLES for SAP 15 SP3 rmt-server 2.23-150300.3.54.1 SUSE-SU-2025:02429-1
SLE HPC 15 SP5 rmt-server 2.23-150500.3.34.2 SUSE-SU-2025:02564-1
SLE HPC 15 SP4 rmt-server 2.23-150400.3.42.1 SUSE-SU-2025:02329-1
SLE HPC 15 SP3 rmt-server 2.23-150300.3.54.1 SUSE-SU-2025:02429-1
SUSE Manager Server 4.3 rmt-server 2.23-150400.3.42.1 SUSE-SU-2025:02329-1
SUSE Manager Proxy 4.3 rmt-server 2.23-150400.3.42.1 SUSE-SU-2025:02329-1
SUSE Enterprise Storage 7.1 rmt-server 2.23-150300.3.54.1 SUSE-SU-2025:02429-1
ReleasePackageFixed inAdvisory
openSUSE Tumbleweed rubygem-rack-2.2 2.2.14-1.1 openSUSE-SU-2026:10286-1, openSUSE-SU-2025:15067-1
openSUSE Leap 15.6 rmt-server 2.23-150500.3.34.2 SUSE-SU-2025:02564-1
openSUSE Leap 15.6 rubygem-rack 2.0.8-150000.3.31.1 SUSE-SU-2025:01586-1

Amazon Linux

ReleasePackageFixed inAdvisory
Amazon Linux 2 pcs +1 0.9.169-3.amzn2.3.0.6 ALAS2-2025-2856

Oracle Linux

ReleasePackageFixed inAdvisory
Oracle Linux 10 pcs +2 0.12.0-3.el10_0.2 ELSA-2025-8319
Oracle Linux 9 pcs +1 0.11.9-2.el9_6.1 ELSA-2025-8256
Oracle Linux 8 pcs +1 0.10.18-2.0.1.el8_10.5 ELSA-2025-8254

Wolfi

ReleasePackageFixed inAdvisory
Wolfi rolling logstash-8-with-output-opensearch 8.18.1-r1 —
Wolfi rolling ruby3.2-rack-2.2 +3 2.2.22-r0 —

Affected packages

EcosystemPackageAffectedFixedRecord
RubyGems rack < 2.2.14 2.2.14 GHSA-gjh7-p2fx-99vx
RubyGems rack >= 3.0, < 3.0.16 3.0.16 GHSA-gjh7-p2fx-99vx
RubyGems rack >= 3.1, < 3.1.14 3.1.14 GHSA-gjh7-p2fx-99vx

Advisories 33

References