HexBrain

Internet Bug Bounty · Report #2584376

ReDoS Vulnerability in HTTP Accept Headers Parsing

Validstatus
mediumseverity
$2,642bounty
55upvotes
30 Oct 2024disclosed

Summary

ReDoS Vulnerability in HTTP Accept Headers Parsing

Summary A Regular Expression Denial of Service (ReDoS) vulnerability exists in the Rack::Request::Helpers module when parsing HTTP Accept headers. This vulnerability can be exploited by an attacker sending specially crafted Accept-Encoding or Accept-Language headers, causing the server to spend excessive time processing the request and leading to a Denial of Service (DoS).

Details The fix for GHSA-54rr-7fvw-6x8f was not applied to the main branch and thus while the issue was fixed for the Rack v3.0 release series, it was not fixed in the v3.1 release series until v3.1.5.

GHSA link: https://github.com/rack/rack/security/advisories/GHSA-cj83-2ww7-mvq7

How it was found

A regular Expression Denial of Service (ReDoS) vulnerability exists in the Rack::Request::Helpers module when parsing HTTP Accept headers. This vulnerability can be exploited by an attacker sending specially crafted Accept-Encoding or Accept-Language headers, causing the server to spend excessive time processing the request and leading to a Denial of Service (DoS). This vulnerability affects Rack versions greater than 3.0.0 and up to and including 3.1.4

Impact

Any unauthenticated user can exploit this vulnerability by sending a specially crafted request, causing the server to spend excessive time processing the request and potentially making the server unavailable.

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