CVE-2026-34831Improper Handling of Length Parameter Inconsistency in Rack

Severity
4.8MEDIUMNVD
EPSS
0.0%
top 88.68%
CISA KEV
Not in KEV
Exploit
No known exploits
Affected products
Timeline
PublishedApr 2
Latest updateApr 17

Description

Rack is a modular Ruby web server interface. Prior to versions 2.2.23, 3.1.21, and 3.2.6, Rack::Files#fail sets the Content-Length response header using String#size instead of String#bytesize. When the response body contains multibyte UTF-8 characters, the declared Content-Length is smaller than the number of bytes actually sent on the wire. Because Rack::Files reflects the requested path in 404 responses, an attacker can trigger this mismatch by requesting a non-existent path containing percent

CVSS vector

CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:NExploitability: 2.2 | Impact: 2.5

Affected Packages2 packages

CVEListV5rack/rack< 2.2.23+2
RubyGemsrack/rack3.0.0.beta13.1.21+2

🔴Vulnerability Details

5
OSV
CVE-2026-34831: (Rack is a modular Ruby web server interface2026-04-03
GHSA
Rack has Content-Length mismatch in Rack::Files error responses2026-04-02
CVEList
Rack: Content-Length mismatch in Rack::Files error responses2026-04-02
OSV
Rack has Content-Length mismatch in Rack::Files error responses2026-04-02
OSV
CVE-2026-34831: Rack is a modular Ruby web server interface2026-04-02

📋Vendor Advisories

3
Ubuntu
Rack vulnerabilities2026-04-17
Red Hat
rack: Rack: HTTP response desynchronization via incorrect Content-Length calculation with UTF-8 characters2026-04-02
Debian
CVE-2026-34831: ruby-rack - Rack is a modular Ruby web server interface. Prior to versions 2.2.23, 3.1.21, a...2026

🕵️Threat Intelligence

1
Wiz
CVE-2026-34831 Impact, Exploitability, and Mitigation Steps | Wiz
CVE-2026-34831 — Rack vulnerability | cvebase