GHSA-6hfq-h8hq-87mf · Severity: medium · Ecosystem: rust — HTTP Request Smuggling in hyper
hyper is an open-source HTTP library for Rust (crates.io). In hyper from version 0.12.0 and before versions 0.13.10 and 0.14.3 there is a vulnerability that can enable a request smuggling attack. The HTTP server code had a flaw that incorrectly understands some requests with multiple transfer-encoding headers to have a chunked payload, when it should have been rejected as illegal. This combined with an upstream HTTP proxy that understands the request payload boundary differently can result in "request smuggling" or "desync attacks". To determine if vulnerable, all these things must be true: 1) Using hyper as an HTTP server (the client is not affected), 2) Using HTTP/1.1 (HTTP/2 does not use transfer-encoding), 3) Using a vulnerable HTTP proxy upstream to hyper. If an upstream proxy correctly rejects the illegal transfer-encoding headers, the desync attack cannot succeed. If there is no proxy upstream of hyper, hyper cannot start the desync attack, as the client will repair the headers before forwarding. This is fixed in versions 0.14.3 and 0.13.10. As a workaround one can take the following options: 1) Reject requests that contain a `transfer-encoding` header, 2) Ensure any upstream proxy handles `transfer-encoding` correctly.
Conclusion & alert: CVE-2021-21299 is rated Moderate Risk (43.2/100): CVSS Medium severity, with medium exploitation likelihood (EPSS 0.58%). Mandatory action: Review affected assets and schedule remediation.
Risk is dynamic; we continuously reassess and refresh what is shown on this page as upstream context changes.
EPSS lead: Daily EPSS estimates relative likelihood of exploitation; percentile ranks this CVE among scored vulnerabilities (higher = more severe relative rank).
| # | Date | Old EPSS score | New EPSS score | Delta (New - Old) |
|---|---|---|---|---|
| 1 | 2026-01-26 | 0.48% | 0.58% | +0.10% |
| 2 | 2025-10-24 | 0.58% | 0.48% | -0.10% |
| 3 | 2025-03-30 | — | 0.58% | — |
Full EPSS history (10 records total)
CVSS metrics for this CVE.
| Base score | Version | Severity | Vector | Exploitability | Impact | Score source |
|---|---|---|---|---|---|---|
| 4.8 | 3.1 | MEDIUM |
|
2.2 | 2.5 | [email protected] |
| 8.1 | 3.1 | HIGH |
|
2.2 | 5.9 | [email protected] |
| 6.8 | 2.0 | MEDIUM |
|
8.6 | 6.4 | [email protected] |
GHSA-6hfq-h8hq-87mf · Severity: medium · Ecosystem: rust — HTTP Request Smuggling in hyper
| vendor | priority | summary | link |
|---|---|---|---|
debian
|
not yet assigned | CVE-2021-21299 not yet assigned priority: Debian including 1 source packages (rust-hyper), 4 status rows across 4 suites (bookworm, forky, sid, trixie): resolved 4. | https://security-tracker.debian.org/tracker/CVE-2021-21299 |
suse
|
high | CVE-2021-21299 severity important: SUSE including 23 source package names (cargo, cargo1.59, …), 140 product×package rows across 23 product lines (SUSE CaaS Platform 4.0, SUSE Enterprise Storage 6, … (23 product lines)): Known Not Affected 137, Fixed 3. | https://www.suse.com/security/cve/CVE-2021-21299/ |
ubuntu
|
low | CVE-2021-21299 low priority: Ubuntu including 1 source packages (rust-hyper), 16 status rows across 16 suites (bionic, focal, groovy, hirsute, impish, jammy, kinetic, lunar, mantic, noble, oracular, plucky, questing, trusty, upstream, xenial): ignored 7, DNE 5, needs-triage 4. | https://ubuntu.com/security/CVE-2021-21299 |
| URL | Tags |
|---|---|
| https://crates.io/crates/hyper | Product Third Party Advisory |
| https://github.com/hyperium/hyper/commit/8f93123efef5c1361086688fe4f34c83c89cec02 | Patch Third Party Advisory |
| https://github.com/hyperium/hyper/security/advisories/GHSA-6hfq-h8hq-87mf | Third Party Advisory |
| https://portswigger.net/research/http-desync-attacks-request-smuggling-reborn | Third Party Advisory |
| https://rustsec.org/advisories/RUSTSEC-2021-0020.html | Third Party Advisory |