NetSight
high8.1

CVE-2020-36446

Data races in signal-simple

Impact

Affected versions of this crate unconditionally implement Send/Sync for SyncChannel<T>. SyncChannel<T> doesn't provide access to &T but merely serves as a channel that consumes and returns owned T. Users can create UB in safe Rust by sending T: !Send to other threads with SyncChannel::send/recv APIs. Using T = Arc<Cell<_> allows to create data races (which can lead to memory corruption), and using T = MutexGuard<T> allows to unlock a mutex from a thread that didn't lock the mutex.

Affected packages

EcosystemPackageAffectedFixed in
rustsignal-simple<= 0.1.1none recorded

Affected products

VendorProductAffected versions
Signal-Simple ProjectSignal-Simple
through 2020-11-15

Weakness classification

References