Read the docs
TI-2026-26525 Aliases CVE-2026-34230GHSA-v569-hp3g-36wr

Rack: Quadratic complexity in Rack::Utils.select_best_encoding via wildcard Accept-Encoding header

Priority LOW 39CWE-400Published · Updated

Key facts

Attack vector
Network
Privileges required
None
User interaction
None
Attack complexity
Low
Impact type
Denial of service
Confidentiality · integrity · availability
None · None · High
Fix status
Partial Red Hat: 6 without a fix

Attack profile from CVSS 3.1 · NVD. Fix status from CNA, GitHub and Red Hat. Impact type from CWE-400.

Summary

Rack is a modular Ruby web server interface. Prior to versions 2.2.23, 3.1.21, and 3.2.6, Rack::Utils.select_best_encoding processes Accept-Encoding values with quadratic time complexity when the header contains many wildcard (*) entries. Because this method is used by Rack::Deflater to choose a response encoding, an unauthenticated attacker can send a single request with a crafted Accept-Encoding header and cause disproportionate CPU consumption on the compression middleware path. This results in a denial of service condition for applications using Rack::Deflater. This issue has been patched in versions 2.2.23, 3.1.21, and 3.2.6.

Why it matters now

Exploitation None reported CISA SSVC · not in CISA KEV
EPSS 0.00447 39th percentileScored 2026-11-07
Fix Partial rack (rack): 2.2.23, 3.1.21, 3.2.6rack (RubyGems): 2.2.23, 3.1.21, 3.2.6Red Hat: 6 without a fix

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
None
Automatable
Yes
Technical impact
Partial

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
rackrackbefore 2.2.23; 3.0.0.beta1 to before 3.1.21; 3.2.0 to before 3.2.62.2.23, 3.1.21, 3.2.6Patch availableCNA
—rack (RubyGems)before 2.2.232.2.23Patch availableGHSA-v569-hp3g-36wr
—rack (RubyGems)3.0.0.beta1 to before 3.1.213.1.21Patch availableGHSA-v569-hp3g-36wr
—rack (RubyGems)3.2.0 to before 3.2.63.2.6Patch availableGHSA-v569-hp3g-36wr
  • rack Vendorrack Affected before 2.2.23; 3.0.0.beta1 to before 3.1.21; 3.2.0 to before 3.2.6 Fixed in 2.2.23, 3.1.21, 3.2.6 Patch available CNA
  • rack (RubyGems) Vendor— Affected before 2.2.23 Fixed in 2.2.23 Patch available GHSA-v569-hp3g-36wr
  • rack (RubyGems) Vendor— Affected 3.0.0.beta1 to before 3.1.21 Fixed in 3.1.21 Patch available GHSA-v569-hp3g-36wr
  • rack (RubyGems) Vendor— Affected 3.2.0 to before 3.2.6 Fixed in 3.2.6 Patch available GHSA-v569-hp3g-36wr

CPE configurations NVD · 1

CPEVersionsRoleVendor
cpe:2.3:a:rack:rack:*:*:*:*:*:ruby:*:*before 2.2.23; 3.0.0 to before 3.1.21; 3.2.0 to before 3.2.6Vulnerablerack
  • cpe:2.3:a:rack:rack:*:*:*:*:*:ruby:*:* Versions before 2.2.23; 3.0.0 to before 3.1.21; 3.2.0 to before 3.2.6 Vulnerable ·rack

Remediation

  • Fix · CNA rack (rack) Fixed in 2.2.23, 3.1.21, 3.2.6
  • Fix · GHSA-v569-hp3g-36wr rack (RubyGems) Fixed in 2.2.23 Advisory →
  • Fix · GHSA-v569-hp3g-36wr rack (RubyGems) Fixed in 3.1.21 Advisory →
  • Fix · GHSA-v569-hp3g-36wr rack (RubyGems) Fixed in 3.2.6 Advisory →

Vendor assessments

Red Hat

Red Hat rating: Moderate. Red Hat's page for this CVE →

ProductStatusPlan or fix
Logging Subsystem for Red Hat OpenShiftAffectedNo fix yet: Fix deferred
Red Hat 3scale API Management Platform 2AffectedNo fix yet: Fix deferred
Red Hat Enterprise Linux 10AffectedNo fix yet: Fix deferred
Red Hat Enterprise Linux 7AffectedNo fix yet: Fix deferred
Red Hat Enterprise Linux 8AffectedNo fix yet: Fix deferred
Red Hat Enterprise Linux 9AffectedNo fix yet: Fix deferred

Timeline

  1. 2026-10-02 Threatist record created from CVE-2026-34230
  2. 2026-10-03 Alias added: GHSA-v569-hp3g-36wr

References

  • TI-2024-16580 Rack ReDos in content type parsing (2nd degree polynomial) CVSS 3.1HIGH 7.5
  • TI-2024-17236 Possible Denial of Service Vulnerability in Rack Header Parsing CVSS 3.1HIGH 7.5
  • TI-2024-17231 Possible DoS Vulnerability with Range Header in Rack CVSS 3.1HIGH 7.5
  • TI-2023-12254 Uncontrolled resource consumption in https://github.com/rack/rack CVSS 3.1HIGH 7.5
  • TI-2025-38165 Rack's multipart parser buffers unbounded per-part headers, enabling DoS (memory exhaustion) CVSS 3.1HIGH 7.5
  • TI-2025-38163 Rack's unbounded multipart preamble buffering enables DoS (memory exhaustion) CVSS 3.1HIGH 7.5
See all 36 →

Sources