HIGH8.1
GHSA-36cg-4jff-5863
Data races in signal-simple
Details
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.
Are you affected?
Enter the version of the package you're using.
Affected packages
crates.io/signal-simple
Introduced in:
0No fixed version published yet for signal-simple. Pin to a known-safe version or switch to an alternative.
References
- https://nvd.nist.gov/vuln/detail/CVE-2020-36446[ADVISORY]
- https://github.com/kitsuneninetails/signal-rust/issues/2[WEB]
- https://raw.githubusercontent.com/rustsec/advisory-db/main/crates/signal-simple/RUSTSEC-2020-0126.md[WEB]
- https://rustsec.org/advisories/RUSTSEC-2020-0126.html[WEB]
- http://github.com/kitsuneninetails/signal-rust[PACKAGE]