CVE-2020-35906: futures_task::waker may cause a use-after-free if used on a type that isn't 'static
7.8
CVSS Score
3.1
Basic Information
CVE ID
GHSA ID
EPSS Score
0.34029%
CWE
Published
5/24/2022
Updated
6/13/2023
KEV Status
No
Technology
Rust
Technical Details
CVSS Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
| Package Name | Ecosystem | Vulnerable Versions | First Patched Version |
|---|---|---|---|
| futures-task | rust | >= 0.2.1, < 0.3.6 | 0.3.6 |
Vulnerability Intelligence
Miggo AI
Root Cause Analysis
The vulnerability stems from the waker function's missing 'static bound on its generic type parameter. Multiple sources confirm this: 1) The RustSec advisory explicitly lists futures_task::waker as the affected function. 2) The GitHub PR #2206 shows the fix adding the 'static bound to the function signature. 3) The CVE description demonstrates how non-'static data leads to use-after-free through this function. The function's role in creating wakers from potentially short-lived data makes it the clear entry point for the vulnerability.