Rack QueryParser has an unsafe default allowing params_limit bypass via semicolon-separated parameters
Summary
Rack QueryParser has an unsafe default allowing params_limit bypass via semicolon-separated parameters
Original description
The description as published by the source.
Rack is a modular Ruby web server interface. Prior to version 2.2.18, Rack::QueryParser enforces its params_limit only for parameters separated by &, while still splitting on both & and ;. As a result, attackers could use ; separators to bypass the parameter count limit and submit more parameters than intended. Applications or middleware that directly invoke Rack::QueryParser with its default configuration (no explicit delimiter) could be exposed to increased CPU and memory consumption. This can be abused as a limited denial-of-service vector. This issue has been patched in version 2.2.18.
Source: OSV.dev (Open Source Vulnerabilities) NVD GitHub Advisory OSV
Fix status by distribution
Fixed packages published by each distribution for this CVE
- Debian DEBIAN-CVE-2025-59830 ruby-rack Fixed in: 2.1.4-3+deb11u4
References
- advisory github.com
- advisory github.com
- advisory nvd.nist.gov
- patch github.com