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. Learn more about Dependency Scanning →

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 Wed, 14 May 2025 12:15:56 +0000.