PT-2020-17547 · Rust · Futures-Intrusive
Matthias247
·
Published
2020-10-31
·
Updated
2021-08-25
·
CVE-2020-35915
CVSS v3.1
5.5
Medium
| Vector | AV: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
Affected Products
Futures-Intrusive