High severity · published Apr 2, 2026
CVE-2026-34826
Rack: Unbounded Range Count in get_byte_ranges Enables DoS
7.5
CVSS
0.4%
EPSS
No
On KEV
Description
Rack is a modular Ruby web server interface. Prior to versions 2.2.23, 3.1.21, and 3.2.6, Rack::Utils.get_byte_ranges parses the HTTP Range header without limiting the number of individual byte ranges. Although the existing fix for CVE-2024-26141 rejects ranges whose total byte coverage exceeds the file size, it does not restrict the count of ranges. An attacker can supply many small overlapping ranges such as 0-0,0-0,0-0,... to trigger disproportionate CPU, memory, I/O, and bandwidth consumption per request. This results in a denial of service condition in Rack file-serving paths that process multipart byte range responses. This issue has been patched in versions 2.2.23, 3.1.21, and 3.2.6.
CVSS vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Attack vector
Network
Complexity
Low
Privileges
None
User interaction
None
Confidentiality
None
Integrity
None
Availability
High
Scope
Unchanged
Exploitation
Is it being used?
Exploit prediction (EPSS)0.4% · higher than 32% of CVEs
Exploited in the wildNo evidence yet
CISA KEVNot listed
Ransomware campaign useNot known
Affected products
Which versions
RA
rack · rack
< 2.2.23; >= 3.0.0.beta1, < 3.1.21; >= 3.2.0, < 3.2.6 · source: vendor, NVD
References
NVD
https://nvd.nist.gov/vuln/detail/CVE-2026-34826
CVE.org
https://www.cve.org/CVERecord?id=CVE-2026-34826
Mitigation
https://github.com/rack/rack/security/advisories/GHSA-x8cg-fq8g-mxfx
More from rack
7.5
CVE-2026-34827
Rack: Algorithmic-Complexity DoS in Rack::Multipart::Parser
7.5
CVE-2026-34830
Rack: Rack::Sendfile regex injection via HTTP_X_ACCEL_MAPPING header allows arbitrary file reads through nginx
7.5
CVE-2026-34829
Rack: Denial of Service via Unbounded Multipart File Upload Without Content-Length
7.5
CVE-2026-34785
Rack: Local file inclusion in `Rack::Static` via URL Prefix Matching
7.5
CVE-2026-34230
Rack: Quadratic complexity in Rack::Utils.select_best_encoding via wildcard Accept-Encoding header
