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>.
{
"nvd_published_at": "2021-08-08T06:15:00Z",
"severity": "HIGH",
"github_reviewed_at": "2021-08-10T17:36:54Z",
"github_reviewed": true,
"cwe_ids": [
"CWE-119",
"CWE-362"
]
}