PT-2020-17626 · Rust · Signal-Simple Crate

Kitsuneninetails

·

Published

2020-11-15

·

Updated

2021-08-25

·

CVE-2020-36446

CVSS v3.1

8.1

High

VectorAV: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.

Race Condition

Buffer Overflow

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

Weakness Enumeration

Related Identifiers

CVE-2020-36446
GHSA-36CG-4JFF-5863
GHSA-8892-84WF-CG8F
RUSTSEC-2020-0126

Affected Products

Signal-Simple Crate