PT-2020-17547 · Rust · Futures-Intrusive

Matthias247

·

Published

2020-10-31

·

Updated

2021-08-25

·

CVE-2020-35915

CVSS v3.1

5.5

Medium

VectorAV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
Name of the Vulnerable Software and Affected Versions futures-intrusive crate versions prior to 0.4.0
Description An issue in the futures-intrusive crate allows cross-thread data races of non-Sync types due to the GenericMutexGuard being given the Sync auto trait as long as the type T is Send. This soundness issue can lead to data races, potentially causing crashes and segfaults from safe Rust code. The issue arises because the guard represents an acquired lock and allows concurrent access to the underlying data from different threads, but it should only be Sync when the underlying data is.
Recommendations For versions prior to 0.4.0, update to version 0.4.0 or later, which includes the correction by adding a T: Send + Sync bound for GenericMutexGuard's Sync trait.

Exploit

Fix

Race Condition

Found an issue in the description? Have something to add? Feel free to write us 👾

Weakness Enumeration

Related Identifiers

CVE-2020-35915
GHSA-4HJG-CX88-G9F9
RUSTSEC-2020-0072

Affected Products

Futures-Intrusive