What’s Vulnerable › Vulnerabilities
CVE-2025-59830: Rack QueryParser has an unsafe default allowing params_limit bypass via semicolon-separated parameters
- Severity: high (CVSS 7.5 v3.1)
- Exploited in the wild: not listed in CISA KEV
- EPSS: 0.6% probability of exploitation in the next 30 days
- Public exploit or detection template: none known
- Published: 2025-09-25 · updated 2026-10-19
- Weakness: CWE-400
Description
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.
Affected products
- rack: before 2.2.18 — fixed in 2.2.18
- Rubygems Rack: before 2.2.18; 0.1.0, 0.2.0, 0.3.0, 0.4.0, 0.9.0, 0.9.1 (+112) — fixed in 2.2.18
How to fix
Upgrade to a fixed version: rack 2.2.18; Rubygems Rack 2.2.18. Check the vendor advisory for mitigations.
References
- https://github.com/rack/rack/commit/54e4ffdd5affebcb0c015cc6ae74635c0831ed71
- https://github.com/rack/rack/security/advisories/GHSA-625h-95r8-8xpm
Get alerted when CVE-2025-59830 or the next vulnerability affects your stack