RUSTSEC-2020-0062
Dashboard / Vulnerabilities / RUSTSEC-2020-0062
RUSTSEC-2020-0062
Summary: Improper `Sync` implementation on `FuturesUnordered` in futures-utils can cause data corruption
Details: 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: https://crates.io/crates/futures-util, https://rustsec.org/advisories/RUSTSEC-2020-0062.html, https://github.com/rust-lang/futures-rs/issues/2050
Affected packages
Package
Name: futures-util
Purl: pkg:cargo/futures-util
Affected ranges
Type: SEMVER
Events:
