CVE-2021-32715: Lenient Parsing of Content-Length Header When Prefixed with Plus Sign
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.
Affected Software
Remediation
Event History
Frequently Asked Questions
What is the severity of CVE-2021-32715?
CVE-2021-32715 has a severity rating that reflects the potential for remote code execution or denial of service due to improper parsing.
How do I fix CVE-2021-32715?
To fix CVE-2021-32715, upgrade to hyper version 0.14.10 or later to ensure correct handling of the Content-Length header.
What versions of hyper are affected by CVE-2021-32715?
CVE-2021-32715 affects hyper versions prior to 0.14.10.
What type of attack can exploit CVE-2021-32715?
CVE-2021-32715 can be exploited through crafted HTTP requests that include a malformed Content-Length header.
Is CVE-2021-32715 relevant for production environments?
Yes, CVE-2021-32715 is relevant for production environments using affected versions of the hyper library, as it could lead to unexpected behavior and security risks.