CVE-2020-35901: Use-after-free in actix-http
7.5
CVSS Score
3.1
Basic Information
CVE ID
GHSA ID
EPSS Score
0.59624%
CWE
Published
8/25/2021
Updated
1/11/2023
KEV Status
No
Technology
Rust
Technical Details
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Package Name | Ecosystem | Vulnerable Versions | First Patched Version |
---|---|---|---|
actix-http | rust | < 2.0.0 | 2.0.0 |
Vulnerability Intelligence
Miggo AI
Root Cause Analysis
The vulnerability stemmed from improper handling of pinned data in async streams. The core issue was identified in the MessageBody trait's poll_next method signature which didn't use Pin<&mut Self>, as required for proper pinning in async contexts. This is confirmed by both the advisory's description of the fix ('making poll_next() function accept Pin<&mut Self>') and the reproduction example in GitHub issue #1321 that demonstrated UB through improper polling after replacement. The function's signature directly controlled the memory safety guarantees around the BodyStream.