HTTP Request Smuggling Affecting rust-hyper package, versions <0.14.19-1


Severity

Recommended
0.0
medium
0
10

Snyk's Security Team recommends NVD's CVSS assessment. Learn more

Threat Intelligence

EPSS
0.09% (42nd percentile)

Do your applications use this vulnerable package?

In a few clicks we can analyze your entire application and see what components are vulnerable in your application, and suggest you quick fixes.

Test your applications
  • Snyk IDSNYK-DEBIAN12-RUSTHYPER-2937979
  • published9 Jul 2021
  • disclosed7 Jul 2021

Introduced: 7 Jul 2021

CVE-2021-32715  (opens in a new tab)
CWE-444  (opens in a new tab)

How to fix?

Upgrade Debian:12 rust-hyper to version 0.14.19-1 or higher.

NVD Description

Note: Versions mentioned in the description apply only to the upstream rust-hyper package and not the rust-hyper package as distributed by Debian. See How to fix? for Debian:12 relevant fixed versions and status.

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.

CVSS Base Scores

version 3.1