CVE-2025-59830
Public on
Last Modified:
Description
An unsafe default behavior in Rack::QueryParser allows bypass of the params_limit parameter count restriction when query string parameters are delimited by semicolons (;) rather than ampersands (&). The parser counts only & when enforcing the limit, while still splitting on both & and ;. As a result, an attacker can supply a crafted HTTP query using ; delimiters to exceed the intended parameter count, potentially causing performance degradation or exhaustion of resources (denial of service).
Statement
The overall severity of this flaw is Moderate, because most Rack applications are not directly impacted. The vulnerability primarily affects applications or middleware that invoke Rack::QueryParser directly using its default configuration, which accepts both & and ; as parameter delimiters. This behavior can lead to excessive CPU or memory consumption, resulting only a limited denial-of-service condition.
For typical applications using Rack::Request, the default request-handling flow applies safe parsing logic and does not exhibit the vulnerable behavior.
In summary, while the theoretical severity is High, the practical impact is generally Moderate to Low for standard configurations.
Affectedness:
It should be noted that starting from Rack v3.x, the framework no longer splits query parameters on semicolons. This change was introduced in commit ef1fc0c44e6a4b77c8fcf9b4f3bfa09f04ae8482, effectively mitigating this issue in newer releases.
Rack 1.x is also not affected by this vulnerability. The vulnerable parsing logic was introduced in Rack 2.x; earlier versions use a simpler query parsing mechanism that does not expose the same resource exhaustion risk.
Additionally, Ruby 2.x and 3.x versions shipped with Red Hat Enterprise Linux are not affected, as they do not bundle the rack RubyGem by default. Rack is a third-party gem that must be installed separately.
Mitigation
No action is required for typical Rack applications that use the framework’s default request-handling mechanisms, as these are not impacted.
For custom implementations or middleware that directly invoke Rack::QueryParser, administrators should:
Use explicit delimiters: Configure QueryParser to use a specific delimiter (e.g. &) rather than accepting both & and ;.
Limit request size and parameters: Enforce request size and parameter count limits at upstream layers (such as a web server, reverse proxy, or WAF) to prevent excessive resource consumption.
Prefer safe APIs: Use Rack::Request or other higher-level request parsing APIs, which apply safe defaults and avoid this vulnerability.
Additional Information
- This content is not included.Bugzilla 2398167: rubygem-rack: Rack QueryParser has an unsafe default allowing params_limit bypass via semicolon-separated parameters
- Content from cwe.mitre.org is not included.CWE-770: Allocation of Resources Without Limits or Throttling
- FAQ: Frequently asked questions about CVE-2025-59830
- Offline Security Data data is available for integration with other systems. See Offline Security Data API to get started.
External References
Content from www.cve.org is not included.https://www.cve.org/CVERecord?id=CVE-2025-59830
Content from nvd.nist.gov is not included.https://nvd.nist.gov/vuln/detail/CVE-2025-59830
Affected Packages and Issued Red Hat Security Errata
| Products / Services | Components | State | Errata |
|---|---|---|---|
| Logging Subsystem for Red Hat OpenShift | openshift-logging/cluster-logging-operator-bundle | Not affected | |
| Logging Subsystem for Red Hat OpenShift | openshift-logging/cluster-logging-rhel9-operator | Not affected | |
| Logging Subsystem for Red Hat OpenShift | openshift-logging/eventrouter-rhel9 | Not affected | |
| Logging Subsystem for Red Hat OpenShift | openshift-logging/fluentd-rhel8 | Not affected | |
| Logging Subsystem for Red Hat OpenShift | openshift-logging/fluentd-rhel9 | Not affected | |
| Logging Subsystem for Red Hat OpenShift | openshift-logging/log-file-metric-exporter-rhel9 | Not affected | |
| Logging Subsystem for Red Hat OpenShift | openshift-logging/logging-view-plugin-rhel9 | Not affected | |
| Logging Subsystem for Red Hat OpenShift | openshift-logging/vector-rhel9 | Not affected | |
| OpenShift Service Mesh 2 | openshift-service-mesh/grafana-rhel8 | Out of support scope | |
| OpenShift Service Mesh 2 | openshift-service-mesh/istio-cni-rhel8 | Out of support scope | |
| OpenShift Service Mesh 2 | openshift-service-mesh/istio-must-gather-rhel9 | Out of support scope | |
| OpenShift Service Mesh 2 | openshift-service-mesh/istio-operator-bundle | Out of support scope | |
| OpenShift Service Mesh 2 | openshift-service-mesh/istio-rhel8-operator | Out of support scope | |
| OpenShift Service Mesh 2 | openshift-service-mesh/pilot-rhel8 | Out of support scope | |
| OpenShift Service Mesh 2 | openshift-service-mesh/proxyv2-rhel9 | Out of support scope | |
| OpenShift Service Mesh 2 | openshift-service-mesh/ratelimit-rhel8 | Out of support scope | |
| Red Hat 3scale API Management Platform 2 | 3scale-amp2/zync-rhel7 | Will not fix | |
| Red Hat 3scale API Management Platform 2 | 3scale-amp2/zync-rhel8 | Will not fix | |
| Red Hat 3scale API Management Platform 2 | 3scale-amp2/zync-rhel9 | Will not fix | |
| Red Hat 3scale API Management Platform 2 | 3scale-amp21/zync | Will not fix | |
| Red Hat 3scale API Management Platform 2 | 3scale-amp22/zync | Will not fix | |
| Red Hat 3scale API Management Platform 2 | 3scale-amp24/zync | Will not fix | |
| Red Hat 3scale API Management Platform 2 | 3scale-amp25/zync | Will not fix | |
| Red Hat 3scale API Management Platform 2 | 3scale-amp26/zync | Will not fix | |
| Red Hat Enterprise Linux 10 | pcs | Fixed | RHSA-2025:19513 |
| Red Hat Enterprise Linux 10 | pcs | Fixed | RHSA-2025:21036 |
| Red Hat Enterprise Linux 10 | ruby | Not affected | |
| Red Hat Enterprise Linux 6 | ruby | Not affected | |
| Red Hat Enterprise Linux 7 | pcs | Not affected | |
| Red Hat Enterprise Linux 7 | ruby | Not affected | |
| Red Hat Enterprise Linux 8 | pcs | Fixed | RHSA-2025:19719 |
| Red Hat Enterprise Linux 8 | ruby:2.5/ruby | Not affected | |
| Red Hat Enterprise Linux 8 | ruby:3.3/ruby | Not affected | |
| Red Hat Enterprise Linux 8.4 Advanced Mission Critical Update Support | pcs | Fixed | RHSA-2025:19948 |
| Red Hat Enterprise Linux 8.4 Extended Update Support Long-Life Add-On | pcs | Fixed | RHSA-2025:19948 |
| Red Hat Enterprise Linux 8.6 Telecommunications Update Service | pcs | Fixed | RHSA-2025:19734 |
| Red Hat Enterprise Linux 8.6 Update Services for SAP Solutions | pcs | Fixed | RHSA-2025:19734 |
| Red Hat Enterprise Linux 8.8 Telecommunications Update Service | pcs | Fixed | RHSA-2025:19647 |
| Red Hat Enterprise Linux 8.8 Update Services for SAP Solutions | pcs | Fixed | RHSA-2025:19647 |
| Red Hat Enterprise Linux 9 | pcs | Fixed | RHSA-2025:19512 |
| Red Hat Enterprise Linux 9 | pcs | Fixed | RHSA-2025:20962 |
| Red Hat Enterprise Linux 9 | ruby | Not affected | |
| Red Hat Enterprise Linux 9 | ruby:3.3/ruby | Not affected | |
| Red Hat Enterprise Linux 9.0 Update Services for SAP Solutions | pcs | Fixed | RHSA-2025:19800 |
| Red Hat Enterprise Linux 9.2 Update Services for SAP Solutions | pcs | Fixed | RHSA-2025:19733 |
| Red Hat Enterprise Linux 9.4 Extended Update Support | pcs | Fixed | RHSA-2025:19736 |
| Red Hat OpenShift Container Platform 4 | rhcos | Not affected | |
| Red Hat OpenStack Platform 13 (Queens) | rhosp13/openstack-cinder-backup | Not affected | |
| Red Hat OpenStack Platform 13 (Queens) | rhosp13/openstack-cinder-volume | Not affected | |
| Red Hat OpenStack Platform 13 (Queens) | rhosp13/openstack-haproxy | Not affected | |
| Red Hat OpenStack Platform 13 (Queens) | rhosp13/openstack-manila-share | Not affected | |
| Red Hat OpenStack Platform 13 (Queens) | rhosp13/openstack-mariadb | Not affected | |
| Red Hat OpenStack Platform 13 (Queens) | rhosp13/openstack-ovn-northd | Not affected | |
| Red Hat OpenStack Platform 13 (Queens) | rhosp13/openstack-rabbitmq | Not affected | |
| Red Hat OpenStack Platform 13 (Queens) | rhosp13/openstack-redis | Not affected | |
| Red Hat Satellite 6 | satellite:el8/rubygem-rack | Affected | |
| Red Hat Satellite 6.15 for RHEL 8 | rubygem-rack | Fixed | RHSA-2025:19856 |
| Red Hat Satellite 6.16 for RHEL 8 | rubygem-rack | Fixed | RHSA-2025:19855 |
| Red Hat Satellite 6.16 for RHEL 9 | rubygem-rack | Fixed | RHSA-2025:19855 |
| Red Hat Satellite 6.17 for RHEL 9 | rubygem-rack | Fixed | RHSA-2025:19832 |
Common Vulnerability Scoring System (CVSS) Score Details
Important note
CVSS scores for open source components depend on vendor-specific factors (e.g. version or build chain). Therefore, Red Hat's score and impact rating can be different from NVD and other vendors. Red Hat remains the authoritative CVE Naming Authorities (CNA) source for its products and services (see Red Hat classifications ).
| CVSS v3 Score Breakdown | Red Hat | NVD |
|---|---|---|
| CVSS v3 Base Score | 7.5 | |
| Attack Vector | Network | |
| Attack Complexity | Low | |
| Privileges Required | None | |
| User Interaction | None | |
| Scope | Unchanged | |
| Confidentiality Impact | None | |
| Integrity Impact | None | |
| Availability Impact | High |
CVSS v3 Vector
Red Hat CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Frequently Asked Questions
Why is Red Hat's CVSS v3 score or Impact different from other vendors?
For more information, see https://access.redhat.com/solutions/762393.
My product is listed as "Under investigation" or "Affected", when will Red Hat release a fix for this vulnerability?
- "Under investigation" doesn't necessarily mean that the product is affected by this vulnerability. It only means that our Analysis Team is still working on determining whether the product is affected and how it is affected.
- "Affected" means that our Analysis Team has determined that this product is affected by this vulnerability and might release a fix to address this in the near future.
What can I do if my product is listed as "Will not fix"?
Available options depend mostly on the Impact of the vulnerability and the current Life Cycle phase of your product. Overall, you have the following options:
- Upgrade to a supported product version that includes a fix for this vulnerability (recommended).
- Apply a mitigation (if one exists).
- Open a This content is not included.support case to request a prioritization of releasing a fix for this vulnerability.
What can I do if my product is listed as "Fix deferred"?
Available options depend mostly on the Impact of the vulnerability and the current Life Cycle phase of your product. Overall, you have the following options:
- Apply a mitigation (if one exists).
- Open a This content is not included.support case to request a prioritization of releasing a fix for this vulnerability.
- Red Hat Engineering focuses on addressing high-priority issues based on their complexity or limited lifecycle support. Therefore, lower-priority issues will not receive immediate fixes.
What is a mitigation?
I have a Red Hat product but it is not in the above list, is it affected?
Why is my security scanner reporting my product as vulnerable to this vulnerability even though my product version is fixed or not affected?
My product is listed as "Out of Support Scope". What does this mean?
Not sure what something means? Check out our Security Glossary.