Skip to content
OpenAdvisories
Medium · 5.9 CVE-2021-32714 EUVD-2021-1440GHSA-5h46-h7hh-c6x9RUSTSEC-2021-0079

Integer Overflow in Chunked Transfer-Encoding

Published Jul 7, 2021 · Updated Aug 3, 2024 · Assigned by GitHub_M

Description

hyper is an HTTP library for Rust. In versions prior to 0.14.10, hyper's HTTP server and client code had a flaw that could trigger an integer overflow when decoding chunk sizes that are too big. This allows possible data loss, or if combined with an upstream HTTP proxy that allows chunk sizes larger than hyper does, can result in "request smuggling" or "desync attacks." The vulnerability is patched in version 0.14.10. Two possible workarounds exist. One may reject requests manually that contain a `Transfer-Encoding` header or ensure any upstream proxy rejects `Transfer-Encoding` chunk sizes greater than what fits in 64-bit unsigned integers.

Affected products

VendorProductAffectedFixed
hyperium hyper < 0.14.10 —

Fixed in Linux distributions

Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.

ReleasePackageFixed inAdvisory
Debian 14 rust-hyper 0.14.19-1 —
Debian 13 rust-hyper 0.14.19-1 —
Debian 12 rust-hyper 0.14.19-1 —
ReleasePackageFixed inAdvisory
Ubuntu 20.04 LTS rust-hyper No fix yet —

Affected packages

EcosystemPackageAffectedFixedRecord
crates.io hyper < 0.14.10 0.14.10 GHSA-5h46-h7hh-c6x9
crates.io hyper >= 0.0.0-0, < 0.14.10 0.14.10 RUSTSEC-2021-0079

References