CVE-2026-34829: Rack uncontrolled resource consumption in Rack::Multipart::Parser

CVE-2026-34829 · Severity: high · CVSS 7.5 · Published 2026-04-02

Rack is a foundational software component used by many Ruby-based web applications to handle web requests. A vulnerability in how it processes file uploads allows an attacker to send an unlimited amount of data to the server, potentially filling up the server's storage space. This can lead to a denial-of-service (DoS) condition, causing the application to crash or become unavailable to legitimate users.

Technologies: rack (RubyGems). Vendors: RubyGems.

Quick answers

Is CVE-2026-34829 exploited in the wild?
No. Junglewise Threat Intelligence has no report of CVE-2026-34829 being exploited in the wild.
How severe is CVE-2026-34829?
High severity, with a CVSS score of 7.5, published 2 April 2026.
Which products and versions are affected?
rack (RubyGems) ECOSYSTEM:introduced=0,fixed=2.2.23.
Is there a fix for CVE-2026-34829?
Yes. rack (RubyGems): upgrade to 2.2.23 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
How is CVE-2026-34829 attacked?
It is attacked over the network, in a software library.
Am I affected by CVE-2026-34829?
Check whether you run rack (RubyGems) at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

How to fix

  • rack (RubyGems): upgrade to 2.2.23 or later
    bundle update rack

Technical details

A resource exhaustion vulnerability exists in Rack::Multipart::Parser. The parser only applies a BoundedIO wrapper to the request body when a Content-Length header is explicitly provided. If an attacker sends a multipart/form-data request using HTTP chunked transfer encoding (omitting Content-Length), the parser continues reading until the end-of-stream without a total size limit. While Rack normally enforces memory limits for non-file parts, file parts containing a filename are streamed directly to a temporary file on disk without being subject to these constraints. An unauthenticated remote attacker can exploit this to consume unbounded disk space, leading to a denial-of-service. This issue is patched in versions 2.2.23, 3.1.21, and 3.2.6.

Affected products

  • Rack Rack < 2.2.23, >= 3.0.0.beta1 < 3.1.21, >= 3.2.0 < 3.2.6
  • Red Hat Logging Subsystem for Red Hat OpenShift 5
  • Red Hat Red Hat 3scale API Management Platform 2 2

Identifiers

  • CVE-2026-34829
  • GHSA-8vqr-qjwx-82mw

Timeline

  • 2026-04-01: advisory: GitHub Security Advisory published
  • 2026-04-02: disclosed: NVD publication date

References

This page as Markdown. Free to reuse under CC BY 4.0 with a link back.