VDB
Sign up
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: 0

No fixed version published yet for signal-simple. Pin to a known-safe version or switch to an alternative.

References