CVE-2021-38512: HTTP Request Smuggling in actix-http
7.5
CVSS Score
3.1
Basic Information
CVE ID
GHSA ID
EPSS Score
0.61251%
CWE
Published
8/25/2021
Updated
2/3/2023
KEV Status
No
Technology
Rust
Technical Details
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
Package Name | Ecosystem | Vulnerable Versions | First Patched Version |
---|---|---|---|
actix-http | rust | < 2.2.1 | 2.2.1 |
Vulnerability Intelligence
Miggo AI
Root Cause Analysis
The vulnerability stemmed from three main issues: 1) Improper chunk size parsing that allowed integer overflows and invalid size values (fixed by adding checked_mul and character validation), 2) Header parsing that permitted multiple Transfer-Encoding headers and invalid values (fixed by adding validation checks), and 3) Insufficient validation of chunk extension characters. The commit introduced a new chunked.rs with strict state machine handling, added overflow checks in read_size, and enhanced header validation in decoder.rs. Test cases like hrs_chunk_extension_invalid and hrs_chunk_size_overflow in the diff confirm these were the vulnerable areas.