GHSA-22f2-v57c-j9cx

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

En bref

Publiée
Mise à jour
CVE
CVE-2024-25126
CVSS_V3
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L

Description

### 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.

Paquets affectés

PaquetVersions
RubyGems · rackintroduced 3.0.0, fixed 3.0.9.1
RubyGems · rackintroduced 0.4, fixed 2.2.8.1

Références

Sources

SourceLicence
OSV.devCC-BY 4.0 — GitHub Advisory Database