CVE-2021-32715
hyper is an HTTP library for rust. hyper's HTTP/1 server code had a flaw that incorrectly parses and accepts requests with a `Content-Length` header with a prefixed plus sign, when it should have been rejected as illegal. This combined with an upstream HTTP proxy that doesn't parse such `Content-Length` headers, but forwards them, can result in "request smuggling" or "desync attacks". The flaw exists in all prior versions of hyper prior to 0.14.10, if built with `rustc` v1.5.0 or newer. The vulnerability is patched in hyper version 0.14.10. Two workarounds exist: One may reject requests manually that contain a plus sign prefix in the `Content-Length` header or ensure any upstream proxy handles `Content-Length` headers with a plus sign prefix.
EPSS 0.30% · 53.2th percentile
Risk Scores
Affected Products
| Vendor | Product | Versions |
|---|---|---|
| Ubuntu:20.04:LTS | rust-hyper | 0, 0.12.35-1 |
Exploit Intelligence
Timeline
- Jul 7, 2021 CVE Published
- Jul 8, 2021 EPSS Score
- Sep 6, 2021 EPSS Score
- Nov 5, 2021 EPSS Score
- Jan 4, 2022 EPSS Score
- Feb 4, 2022 EPSS Score
- Mar 4, 2022 EPSS Score
- Apr 1, 2022 EPSS Score
- May 3, 2022 EPSS Score
- Jul 2, 2022 EPSS Score
- Sep 1, 2022 EPSS Score
- Oct 31, 2022 EPSS Score
References
- https://ubuntu.com/security/CVE-2021-32715 third-party-advisory
- https://github.com/hyperium/hyper/security/advisories/GHSA-f3pg-qwvg-p99c third-party-advisory
- https://github.com/rust-lang/rust/pull/28826/commits/123a83326fb95366e94a3be1a74775df4db97739 third-party-advisory
- https://rustsec.org/advisories/RUSTSEC-2021-0078.html third-party-advisory
- https://www.cve.org/CVERecord?id=CVE-2021-32715 third-party-advisory