Rust advisories / futures-util
Vulnerability MediumRUSTSEC-2020-0062 · futures-util
RUSTSEC-2020-0062: Improper `Sync` implementation on `FuturesUnordered` in futures-utils can cause data corruption
Short answerA security vulnerability in the futures-util crate: Improper `Sync` implementation on `FuturesUnordered` in futures-utils can cause data corruption. Medium severity (CVSS 5.5). Fixed in 0.3.2: update to a fixed version.
| Crate | futures-util |
|---|---|
| Type | Vulnerability (memory-corruption, thread-safety) |
| Affected versions | From 0.3.0 before 0.3.2. |
| Fixed in | 0.3.2 |
| Severity | Medium, CVSS 5.5 CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H |
| Published | 2020-01-24 |
| Last changed | 2023-11-08 |
| Also known as | CVE-2020-35908, GHSA-5r9g-j7jj-hw6c |
| Affected functions | futures_util::stream::FuturesUnordered |
What to do
- See which version you have:
cargo tree -i futures-util(it also shows which of your dependencies pulls it in). - Update within your version requirement:
cargo update -p futures-util. If the fix is a newer major or minor than your requirement allows, raise it in Cargo.toml (for examplefutures-util = "0.3.2") or update the dependency that pulls it in. - Check again with
cargo audit, or paste your Cargo.lock into our Cargo.toml checker.
Details from the advisory
Affected versions of the crate had an unsound Sync implementation on the FuturesUnordered structure, which used a Cell for interior mutability without any code to handle synchronized access to the underlying task list's length and head safely.
This could of lead to data corruption since two threads modifying the list at once could see incorrect values due to the lack of access synchronization.
The issue was fixed by adding access synchronization code around insertion of tasks into the list.
References
- Package: crates.io/crates/futures-util
- Advisory: rustsec.org/advisories/RUSTSEC-2020-0062.html
- Report: github.com/rust-lang/futures-rs/issues/2050
From the RustSec Advisory Database (CC0-1.0) via the OSV export, downloaded Oct 24, 2026. Severity score computed from the published CVSS vector.
Other advisories for futures-util
Up next
Same cratefutures-util: security historyEvery advisory for this crate, and whether it is safe to use today.Read it next →Did this answer your question?