Advisory Database
  • Advisories
  • Dependency Scanning
  1. gem
  2. ›
  3. rack
  4. ›
  5. CVE-2024-25126

CVE-2024-25126: Rack vulnerable to ReDoS in content type parsing (2nd degree polynomial)

February 28, 2024 (updated February 29, 2024)

Summary

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:

request["Content-Type"] = (" " * 50_000) + "a,"

Impact

It’s a very easy to craft ReDoS. Like all ReDoS the impact is debatable.

References

  • discuss.rubyonrails.org/t/denial-of-service-vulnerability-in-rack-content-type-parsing/84941
  • github.com/advisories/GHSA-22f2-v57c-j9cx
  • github.com/rack/rack
  • github.com/rack/rack/commit/6efb2ceea003c4b195815a614e00438cbd543462
  • github.com/rack/rack/commit/d9c163a443b8cadf4711d84bd2c58cb9ef89cf49
  • github.com/rack/rack/security/advisories/GHSA-22f2-v57c-j9cx
  • github.com/rubysec/ruby-advisory-db/blob/master/gems/rack/CVE-2024-25126.yml
  • nvd.nist.gov/vuln/detail/CVE-2024-25126

Code Behaviors & Features

Detect and mitigate CVE-2024-25126 with GitLab Dependency Scanning

Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Dependency Scanning using SBOM also detects vulnerabilities from proprietary advisories that this site does not include. Learn more about Dependency Scanning using SBOM →

Affected versions

All versions starting from 3.0.0 before 3.0.9.1, all versions starting from 0.4 before 2.2.8.1

Fixed versions

  • 3.0.9.1
  • 2.2.8.1

Solution

Upgrade to versions 3.0.9.1, 3.0.9.1 or above.

Impact 5.3 MEDIUM

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L

Learn more about CVSS

Weakness

  • CWE-1333: Inefficient Regular Expression Complexity

Source file

gem/rack/CVE-2024-25126.yml

Spotted a mistake? Edit the file on GitLab.

  • Site Repo
  • About GitLab
  • Terms
  • Privacy Statement
  • Contact

Page generated Sun, 08 Nov 2026 00:17:04 +0000.