HexBrain

Internet Bug Bounty · Report #2012122

[CVE-2022-44571] Possible Denial of Service Vulnerability in Rack Content-Disposition parsing

Validstatus
lowseverity
$480bounty
2upvotes
27 Jul 2023disclosed

Summary

There is a denial of service vulnerability in the Content-Disposition parsing component of Rack. This vulnerability has been assigned the CVE identifier CVE-2022-44571.

Versions Affected: >= 2.0.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/1675235

https://discuss.rubyonrails.org/t/cve-2022-44571-possible-denial-of-service-vulnerability-in-rack-content-disposition-parsing/82126

There is a denial of service vulnerability in the Content-Disposition parsing component of Rack. This vulnerability has been assigned the CVE identifier CVE-2022-44571. Carefully crafted input can cause Content-Disposition header parsing in Rack to take an unexpected amount of time, possibly resulting in a denial of service attack vector. This header is used typically used in multipart parsing. Any applications that parse multipart posts using Rack (virtually all Rails applications) are impacted.

Impact

Any applications that parse multipart posts using Rack (virtually all Rails applications) are impacted. Since it is a manipulation of the request body, it is possible to bypass the request header size limit and make more dangerous attacks.

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