# CVE-2026-34826: Rack denial of service via excessive overlapping HTTP byte ranges

Source: https://junglewise.ai/threats/cve-2026-34826-rack-denial-of-service-via-excessive-overlapping-http-byte-ranges  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2026-04-02. Updated: 2026-07-24  
License: CC BY 4.0 with a link back

CVE-2026-34826 · Severity: medium · CVSS 5.3 · Published 2026-04-02

Rack is a widely used interface for Ruby web applications that handles communication between web servers and application code. A vulnerability in how it processes file download requests allows an attacker to send a specially crafted header that forces the server to perform excessive work. This can lead to a denial-of-service (DoS) condition, making the web application slow or completely unresponsive to legitimate users.

Technologies: [rack (RubyGems)](https://junglewise.ai/threats/technologies/rack). Vendors: [RubyGems](https://junglewise.ai/threats/vendors/rubygems).

## Quick answers

**Is CVE-2026-34826 exploited in the wild?** No. Junglewise Threat Intelligence has no report of CVE-2026-34826 being exploited in the wild.

**How severe is CVE-2026-34826?** Medium severity, with a CVSS score of 5.3, 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-34826?** 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-34826 attacked?** It is attacked over the network, in a software library.

**Am I affected by CVE-2026-34826?** 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

  ```sh
  bundle update rack
  ```


## Technical details

The vulnerability exists in Rack::Utils.get_byte_ranges, which parses the HTTP Range header without limiting the total number of individual byte ranges requested. While a previous fix (CVE-2024-26141) restricted the total byte coverage, it did not limit the count of ranges. An unauthenticated remote attacker can provide a large number of small, overlapping ranges (e.g., '0-0,0-0,0-0...') to trigger disproportionate CPU, memory, and I/O consumption during multipart response generation. This results in a denial-of-service condition in file-serving paths. The 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

## Identifiers

- CVE-2026-34826
- GHSA-x8cg-fq8g-mxfx

## Timeline

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

## References

- [https://github.com/rack/rack/security/advisories/GHSA-x8cg-fq8g-mxfx](https://github.com/rack/rack/security/advisories/GHSA-x8cg-fq8g-mxfx)

## Related threats

- [Rack multipart parser denial of service via unbounded scan buffer growth](https://junglewise.ai/threats/cve-2026-125111-rack-multipart-parsing-allows-dos-via-unbounded-scan-buffer)
- [Rack::Static header_rules bypass via dot-segment normalization mismatch](https://junglewise.ai/threats/cve-2026-125110-rack-rack-static-header-rules-bypass-via-dot-segment)
- [Rack host validation bypass via HTTP headers](https://junglewise.ai/threats/cve-2026-125109-rack-is-a-modular-ruby-web-server-interface-from-3-0-until-3-1)
- [Rack is a modular Ruby web server interface. Prior to 2.2.25, 3.1.23, and 3.2.8…](https://junglewise.ai/threats/cve-2026-125108-rack-multipart-boundary-ambiguity-guard-in-rack-multipart-parser)
- [Rack Rack::Request host allowlist bypass via Host header poisoning](https://junglewise.ai/threats/cve-2026-34835-rack-rack-request-host-allowlist-bypass-via-host-header-poisoning)
