GHSA-368f-29c3-4f2rHighCVSS 8.1

Data race in conqueue

Published
August 25, 2021
Last Modified
June 22, 2023

🔗 CVE IDs covered (1)

📋 Description

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

🎯 Affected products1

  • rust/conqueue:< 0.4.0

🔗 References (5)