CVE-2026-34835CWE-1286

Rack: `Rack::Request` accepts invalid Host characters, enabling host allowlist bypass.

Medium · published April 2, 2026

CVSS v3.1
4.8
EPSS
0%
Percentile
19.2
In the wild
Unconfirmed
What it is

Rack is a modular Ruby web server interface. From versions 3.0.0.beta1 to before 3.1.21, and 3.2.0 to before 3.2.6, Rack::Request parses the Host header using an AUTHORITY regular expression that accepts characters not permitted in RFC-compliant hostnames, including /, ?, #, and @. Because req.host returns the full parsed value, applications that validate hosts using naive prefix or suffix checks can be bypassed. This can lead to host header poisoning in applications that use req.host, req.url, or req.base_url for link generation, redirects, or origin validation. This issue has been patched in versions 3.1.21 and 3.2.6.

The record
Technical detail
CVSS v3.1
4.8 · MEDIUM
Vector
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:N
CVSS v4.0
Not supplied
EPSS
0.00278 · 19.2th percentile
Weakness
CWE-1286 · Improper Validation of Syntactic Correctness of Input
Published
2026-04-02T17:09Z
EPSS history
Timeline
  • 02 APR 17:09Z
    Rack: `Rack::Request` accepts invalid Host characters, enabling host allowlist bypass.
    cvelistv5