RUSTSEC-2020-0117
Dashboard / Vulnerabilities / RUSTSEC-2020-0117
RUSTSEC-2020-0117
Summary: QueueSender<T>/QueueReceiver<T>: Send/Sync impls need `T: Send`
Details: Affected versions of this crate unconditionally implemented `Send`/`Sync` for `QueueSender<T>`, allowing to send non-Send `T` to other threads by invoking `(&QueueSender<T>).send()`. This fails to prevent users from creating data races by sending types like `Rc<T>` or `Arc<Cell<T>>` to other threads, which can lead to memory corruption. The flaw was corrected in commit 1e462c3 by imposing `T: Send` to both `Send`/`Sync` impls for `QueueSender<T>`/`QueueReceiver<T>`.
References: https://crates.io/crates/conqueue, https://rustsec.org/advisories/RUSTSEC-2020-0117.html, https://github.com/longshorej/conqueue/issues/9
Affected packages
Package
Name: conqueue
Purl: pkg:cargo/conqueue
Affected ranges
Type: SEMVER
Events:
