Files
advisory-db/crates/conqueue/RUSTSEC-2020-0117.md
Alexander Kjäll f494f83f8e add missing cve info to advisories (#1077)
looks like RUSTSEC-2020-0036 might be a special case, someone got a cve for that the crate is unmaintained
2021-10-14 21:53:11 +02:00

802 B

[advisory]
id = "RUSTSEC-2020-0117"
package = "conqueue"
date = "2020-11-24"
url = "https://github.com/longshorej/conqueue/issues/9"
categories = ["memory-corruption", "thread-safety"]
aliases = ["CVE-2020-36437"]

[versions]
patched = [">= 0.4.0"]

QueueSender/QueueReceiver: Send/Sync impls need T: Send

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