CVE-2026-34230CWE-400CWE-407

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

Medium · published April 2, 2026

CVSS v3.1
5.3
EPSS
0%
Percentile
40.5
In the wild
Unconfirmed
What it is

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.

The record
Technical detail
CVSS v3.1
5.3 · MEDIUM
Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
CVSS v4.0
Not supplied
EPSS
0.00481 · 40.5th percentile
Weaknesses
CWE-400 · Uncontrolled Resource Consumption; CWE-407 · Inefficient Algorithmic Complexity
Published
2026-04-02T16:41Z
EPSS history
Timeline
  • 02 APR 16:41Z
    Rack: Quadratic complexity in Rack::Utils.select_best_encoding via wildcard Accept-Encoding header
    cvelistv5