CVE-2021-21299Multiple Transfer-Encoding headers misinterprets request payload
- 4.8MediumCVSS base score
- 4.8%Exploitation in 30 daysEPSS · top 7.9% of all CVEs
- NoKnown exploitednot in CISA's KEV catalog
- NonePublic exploitsnone known yet
Description
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.
Timeline
ID reserved
By GitHub_M
- 51 days later
· 51 days later
Published
- 3 years later
· 3 years later
Record updated
Changes after publication (a new score, a public exploit, EPSS crossing 1, 10 or 50 %, leaving KEV) are kept since November 2026; earlier ones are not known.
Scores
| Scored by | CVSS | Score | Vector |
|---|---|---|---|
| GitHub_MCNA (assigner) | 3.1 | Medium4.8 | CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:N |
| NVDNVD · Modified | 3.1 | High8.1 | CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H |
- EPSS (exploitation in 30 days)
- 4.8% · top 7.9% of all CVEs (12 Nov 2026)
The list uses the assigner's score when there is one, then CISA's, then NVD's: Medium 4.8.
Affected products
Affected packages
From reviewed advisories of the GitHub Advisory Database.
- crates.iohyperGHSA-6hfq-h8hq-87mf (opens in a new tab)
References
References5
- https://portswigger.net/research/http-desync-attacks-request-smuggling-reborn (opens in a new tab)x_refsource_MISCx_transferred
- https://rustsec.org/advisories/RUSTSEC-2021-0020.html (opens in a new tab)x_refsource_MISCx_transferred
- https://github.com/hyperium/hyper/security/advisories/GHSA-6hfq-h8hq-87mf (opens in a new tab)x_refsource_CONFIRMx_transferred
- https://crates.io/crates/hyper (opens in a new tab)x_refsource_MISCx_transferred
- https://github.com/hyperium/hyper/commit/8f93123efef5c1361086688fe4f34c83c89cec02 (opens in a new tab)x_refsource_MISCx_transferred
Sources
The same CVE in the primary databases and aggregators, to check against.
- CVE.org record (opens in a new tab)
- CVE List JSON (GitHub) (opens in a new tab)
- NVD (opens in a new tab)
- FIRST EPSS (opens in a new tab)
- EUVD EUVD-2021-1600 (opens in a new tab)
- OSV.dev (opens in a new tab)
- GitHub Advisory GHSA-6hfq-h8hq-87mf (opens in a new tab)
- CIRCL Vulnerability-Lookup (opens in a new tab)
Badge for a README or a ticket
[](https://cveledger.app/cve/CVE-2021-21299)Record last updated .