HexBrain

Internet Bug Bounty · Report #2012121

[CVE-2022-44570] Possible Denial of Service Vulnerability in Rack’s Range header parsing

Validstatus
lowseverity
$480bounty
2upvotes
27 Jul 2023disclosed

Summary

There is a possible denial of service vulnerability in the Range header parsing component of Rack. This vulnerability has been assigned the CVE identifier CVE-2022-44570.

Versions Affected: >= 1.5.0

Not affected: None.

Fixed Versions: 2.0.9.2, 2.1.4.2, 2.2.6.1, 3.0.4.1

How it was found

I made a report and patch at https://hackerone.com/reports/1668717.

https://discuss.rubyonrails.org/t/cve-2022-44570-possible-denial-of-service-vulnerability-in-racks-range-header-parsing/82125

There is a possible denial of service vulnerability in the Range header parsing component of Rack. This vulnerability has been assigned the CVE identifier CVE-2022-44570. Carefully crafted input can cause the Range header parsing component in Rack to take an unexpected amount of time, possibly resulting in a denial of service attack vector. Any applications that deal with Range requests (such as streaming applications, or applications that serve files) may be impacted.

Impact

ReDoS occurs when crafted values are sent to request headers. Especially in Rails, access to public directories is affected.

It was possible to attack ReDoS on many servers without authentication, but in the case of this regular expression, if it is ruby 3.2 or higher, there is a memoization countermeasure, so it is not a threat.

This report was disclosed publicly on HackerOne and belongs to its author and the program. See the original