Rack: `Rack::Request` accepts invalid Host characters, enabling host allowlist bypass.
Default status is the baseline for the product, each version can override it (e.g. patched versions marked unaffected).
| Vendor | Product | Default status | Versions | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| rack | rack | affected |
|
Configuration 1 [-]
|
No data.
| Vendor | Product | Versions | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Rack | Rack |
|
| Source | ID | Title |
|---|---|---|
Debian DSA |
DSA-6492-1 | ruby-rack security update |
Github GHSA |
GHSA-g2pf-xv49-m2h5 | Rack::Request accepts invalid Host characters, enabling host allowlist bypass |
Ubuntu USN |
USN-8182-1 | Rack vulnerabilities |
Ubuntu USN |
USN-8989-1 | Rack vulnerabilities |
No CVSS v4.0
No CVSS v3.0
No CVSS v2
This CVE is not in the KEV list.
Exploit prediction score: < 1% (0.200% probability within 30 days)
| Type | Values Removed | Values Added |
|---|---|---|
| References |
| |
| Metrics |
threat_severity
|
threat_severity
|
| Type | Values Removed | Values Added |
|---|---|---|
| CPEs | cpe:2.3:a:rack:rack:*:*:*:*:*:ruby:*:* |
| Type | Values Removed | Values Added |
|---|---|---|
| First Time appeared |
Rack
Rack rack |
|
| Vendors & Products |
Rack
Rack rack |
| Type | Values Removed | Values Added |
|---|---|---|
| Description | 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. | |
| Title | Rack: `Rack::Request` accepts invalid Host characters, enabling host allowlist bypass. | |
| Weaknesses | CWE-1286 | |
| References |
| |
| Metrics |
cvssV3_1
|