CVE-2025-59830 Rack QueryParser has an unsafe default allowing params_limit bypass via semicolon-separated parameters
Attackers can bypass parameter limits in Rack QueryParser using semicolon separators, causing resource exhaustion and denial of service.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2025-59830?
CVE-2025-59830 is a high-severity denial of service vulnerability in rack, published on 25 Sep 2025. An attacker can exploit it over the internet without logging in, with no action from the victim.
Official 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.
Which versions are affected by CVE-2025-59830?
2 open source packages ship an affected version, including rack. It affects 1 product.
| Package | Affected | Fixed in |
|---|---|---|
rack RubyGems | All versions | 2.2.18 |
rack RubyGems | All versions | 2.2.18 |
Linux distribution packages (1)
rubygem-rack-2.2 openSUSE:Tumbleweed | All versions | 2.2.18-1.1 |
Products include Rack Rack.
How do I fix CVE-2025-59830?
Upgrade rack to 2.2.18 or later.
Upgrade, then put limits on request size, rate and nesting depth so one client cannot exhaust the service. More about Denial of service.
Is CVE-2025-59830 being exploited?
There is no known exploitation of CVE-2025-59830 in the wild and no public exploit code.
Other vulnerabilities in rack
- CVE-2026-34785 Rack: Local file inclusion in `Rack::Static` via URL Prefix Matching
- CVE-2026-34827 Rack: Algorithmic-Complexity DoS in Rack::Multipart::Parser
- CVE-2026-34829 Rack: Denial of Service via Unbounded Multipart File Upload Without Content-Length
- CVE-2026-22860 Rack has a Directory Traversal via Rack:Directory
- CVE-2025-61919 Rack is vulnerable to a memory-exhaustion DoS through unbounded URL-encoded body parsing
Sources
Also known as DEBIAN-CVE-2025-59830, GHSA-625h-95r8-8xpm, MINI-g4w3-gvr3-h232, MINI-h6mq-42gm-4qhr, MINI-jcj8-ph3h-wxv8, MINI-p8fx-9m2q-qhr9 and 4 more.