~ / search / GHSA-22f2-v57c-j9cx

GHSA-22f2-v57c-j9cx

Rack vulnerable to ReDoS in content type parsing (2nd degree polynomial)

Source: GitHub Advisory Database (reviewed) Moderate CVE-2024-25126

Packages

EcosystemPackageAffectedFixed in
RubyGems rack >= 3.0.0, < 3.0.9.1 3.0.9.1
RubyGems rack >= 0.4, < 2.2.8.1 2.2.8.1

Details

As written in the advisory (Markdown source, shown as plain text).

### Summary ```ruby module Rack class MediaType SPLIT_PATTERN = %r{\s*[;,]\s*} ``` The above regexp is subject to ReDos. 50K blank characters as a prefix to the header will take over 10s to split. ### PoC A simple HTTP request with lots of blank characters in the content-type header: ```ruby request["Content-Type"] = (" " * 50_000) + "a," ``` ### Impact It's a very easy to craft ReDoS. Like all ReDoS the impact is debatable.

References

External links from the advisory. They lead to third-party sites.