PT-2020-17626

CVE-2020-36446

·

Published

2020-11-15

·

Updated

2021-08-25

Description by

CVSS 3.1
8.1
High
MetricsAV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
Name of the Vulnerable Software and Affected Versions signal-simple crate versions through 2020-11-15
Description An issue was discovered in the signal-simple crate where there are unconditional implementations of Send and Sync for SyncChannel. This allows users to create undefined behavior in safe Rust by sending T: !Send to other threads with SyncChannel::send/recv APIs. Using T = Arc<Cell< > can lead to data races and memory corruption, while using T = MutexGuard can allow unlocking a mutex from a thread that didn't lock it.
Recommendations For signal-simple crate versions through 2020-11-15, consider avoiding the use of SyncChannel with types that are not Send, such as Arc<Cell< > or MutexGuard, to prevent undefined behavior and potential memory corruption. As a temporary workaround, consider restricting the use of SyncChannel::send/recv APIs until a patch is available. At the moment, there is no information about a newer version that contains a fix for this vulnerability.
Impacts
Researchers
Vendors
Affected products
Related identifiers
GHSA-36CG-4JFF-5863
GHSA-8892-84WF-CG8F
RUSTSEC-2020-0126
Found an issue in the description? Have something to add? Feel free to write us 👾