CVE-2021-32715
Published: 7 July 2021
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.
Priority
Status
Package | Release | Status |
---|---|---|
rust-hyper Launchpad, Ubuntu, Debian |
lunar |
Not vulnerable
(0.14.19-1)
|
bionic |
Does not exist
|
|
groovy |
Does not exist
|
|
trusty |
Does not exist
|
|
xenial |
Ignored
(end of standard support)
|
|
focal |
Needed
|
|
upstream |
Released
(0.14.10)
|
|
impish |
Ignored
(end of life)
|
|
hirsute |
Ignored
(end of life)
|
|
kinetic |
Ignored
(end of life, was needs-triage)
|
|
jammy |
Does not exist
|
|
mantic |
Not vulnerable
(0.14.19-1)
|
Severity score breakdown
Parameter | Value |
---|---|
Base score | 5.3 |
Attack vector | Network |
Attack complexity | Low |
Privileges required | None |
User interaction | None |
Scope | Unchanged |
Confidentiality | None |
Integrity impact | Low |
Availability impact | None |
Vector | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N |
References
- https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-32715
- https://github.com/hyperium/hyper/security/advisories/GHSA-f3pg-qwvg-p99c
- https://github.com/rust-lang/rust/pull/28826/commits/123a83326fb95366e94a3be1a74775df4db97739
- https://rustsec.org/advisories/RUSTSEC-2021-0078.html
- NVD
- Launchpad
- Debian