CVE-2026-34829

HIGH

Rack: Denial of Service via Unbounded Multipart File Upload Without Content-Length

Title source: cna
STIX 2.1

Description

Rack is a modular Ruby web server interface. Prior to versions 2.2.23, 3.1.21, and 3.2.6, Rack::Multipart::Parser only wraps the request body in a BoundedIO when CONTENT_LENGTH is present. When a multipart/form-data request is sent without a Content-Length header, such as with HTTP chunked transfer encoding, multipart parsing continues until end-of-stream with no total size limit. For file parts, the uploaded body is written directly to a temporary file on disk rather than being constrained by the buffered in-memory upload limit. An unauthenticated attacker can therefore stream an arbitrarily large multipart file upload and consume unbounded disk space. This results in a denial of service condition for Rack applications that accept multipart form data. This issue has been patched in versions 2.2.23, 3.1.21, and 3.2.6.

Scores

CVSS v3 7.5
EPSS 0.0006
EPSS Percentile 18.4%
Attack Vector NETWORK
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H

CISA SSVC

Vulnrichment
Exploitation none
Automatable yes
Technical Impact partial

Details

CWE
CWE-400 CWE-770
Status published
Products (4)
rack/rack < 2.2.23 (2 CPE variants)
rack/rack >= 3.0.0.beta1, < 3.1.21
rack/rack >= 3.2.0, < 3.2.6
rubygems/rack 0 - 2.2.23RubyGems
Published Apr 02, 2026
Tracked Since Apr 02, 2026