Internet Bug Bounty · Report #2872502
Possible ReDoS vulnerability in query parameter filtering in Action Dispatch
Summary
There is a possible ReDoS vulnerability in the query parameter filtering routines of Action Dispatch. This vulnerability has been assigned the CVE identifier CVE-2024-41128.
Versions Affected: < 8.0.0.beta1 Not affected: >= 8.0.0.beta1, Ruby >= 3.2 Fixed Versions: 7.2.1.1, 7.1.4.1, 7.0.8.5, 6.1.7.9
Impact Carefully crafted query parameters can cause query parameter filtering to take an unexpected amount of time, possibly resulting in a DoS vulnerability. All users running an affected release should either upgrade or apply the relevant patch immediately.
Ruby 3.2 has mitigations for this problem, so Rails applications using Ruby 3.2 or newer are unaffected. Rails 8.0.0.beta1 requires Ruby 3.2 or greater so is unaffected.
How it was found
I have found a potential ReDoS vulnerability and reported it to the Rails team. Also the patches of mine have been included. You can find detailed information at the following link:
- https://hackerone.com/reports/2585452
- https://discuss.rubyonrails.org/t/cve-2024-41128-possible-redos-vulnerability-in-query-parameter-filtering-in-action-dispatch/87699
- https://nvd.nist.gov/vuln/detail/CVE-2024-41128
There is a possible ReDoS vulnerability in the query parameter filtering routines of Action Dispatch. This vulnerability has been assigned the CVE identifier CVE-2024-41128.
Versions Affected: < 8.0.0.beta1 Not affected: >= 8.0.0.beta1, Ruby >= 3.2 Fixed Versions: 7.2.1.1, 7.1.4.1, 7.0.8.5, 6.1.7.9
Impact
Carefully crafted query parameters can cause query parameter filtering to take an unexpected amount of time, possibly resulting in a DoS vulnerability. All users running an affected release should either upgrade or apply the relevant patch immediately.
Ruby 3.2 has mitigations for this problem, so Rails applications using Ruby 3.2 or newer are unaffected. Rails 8.0.0.beta1 requires Ruby 3.2 or greater so is unaffected.