CVE-2026-34230: Rack inefficient algorithmic complexity in Rack::Utils.select_best_encoding

CVE-2026-34230 · 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 flaw in how it processes certain web headers allows an unauthenticated attacker to send a specially crafted request that forces the server to consume excessive CPU resources. This can lead to a denial of service, making the web application slow or completely unresponsive to legitimate users.

Technologies: rack (RubyGems). Vendors: RubyGems.

Quick answers

Is CVE-2026-34230 exploited in the wild?
No. Junglewise Threat Intelligence has no report of CVE-2026-34230 being exploited in the wild.
How severe is CVE-2026-34230?
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-34230?
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-34230 attacked?
It is attacked over the network, in a software library.
Am I affected by CVE-2026-34230?
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 denial of service vulnerability exists in Rack due to inefficient algorithmic complexity (CWE-407) in the `Rack::Utils.select_best_encoding` method. When processing the `Accept-Encoding` HTTP header, the method recomputes the set of available encodings for every wildcard (*) entry present in the header, resulting in quadratic time complexity. An unauthenticated remote attacker can exploit this by sending a single request with a large number of wildcard entries (e.g., 1,000 entries in an 8 KB header) to trigger disproportionate CPU consumption within the `Rack::Deflater` middleware. This issue is resolved 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-34230
  • GHSA-v569-hp3g-36wr

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.