VYPR
Moderate severityNVD Advisory· Published Jul 7, 2021· Updated Aug 3, 2024

Integer Overflow in Chunked Transfer-Encoding

CVE-2021-32714

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.

AI Insight

LLM-synthesized narrative grounded in this CVE's description and references.

Integer overflow in hyper's chunked Transfer-Encoding parser in versions prior to 0.14.10 can lead to data loss or request smuggling when combined with a permissive upstream proxy.

Vulnerability

An integer overflow flaw exists in the hyper HTTP library for Rust, in versions prior to 0.14.10, during the parsing of chunk sizes in the Transfer-Encoding header. The parser truncates chunk sizes to a 64-bit integer, so a value like f0000000000000003 is interpreted as 3, causing only 3 bytes of the body to be read. This affects both the server and client code when using HTTP/1.1 [1][2][3].

Exploitation

An attacker can craft an HTTP request (or response, in client scenarios) with a Transfer-Encoding: chunked header containing an overly large chunk size, such as f0000000000000003. No authentication or special network position is required beyond the ability to send HTTP messages to a vulnerable hyper endpoint. The exploit requires HTTP/1.1; HTTP/2 is not vulnerable because it does not use chunked encoding. If an upstream proxy allows chunk sizes larger than 64-bit and forwards them to hyper, the attacker can achieve request smuggling [2][3].

Impact

Successful exploitation leads to data loss because hyper reads only a small portion of the intended body. When combined with an upstream proxy that handles chunk sizes differently, this flaw enables HTTP request smuggling or desync attacks, potentially allowing the attacker to inject requests, poison caches, or bypass security controls. The CVSS score is 9.1 (Critical) with high integrity and availability impacts [2].

Mitigation

The vulnerability is patched in hyper version 0.14.10 [1][3]. As a workaround, users can manually reject requests containing a Transfer-Encoding header, or ensure that any upstream proxy rejects chunk sizes larger than what fits in 64-bit unsigned integers [3].

AI Insight generated on May 21, 2026. Synthesized from this CVE's description and the cited reference URLs; citations are validated against the source bundle.

Affected packages

Versions sourced from the GitHub Security Advisory.

PackageAffected versionsPatched versions
hypercrates.io
< 0.14.100.14.10

Affected products

3

Patches

0

No patches discovered yet.

Vulnerability mechanics

AI mechanics synthesis has not run for this CVE yet.

References

4

News mentions

0

No linked articles in our index yet.