Data races on syncpool
High severity
GitHub Reviewed
Published
Aug 25, 2021
to the GitHub Advisory Database
•
Updated Jun 22, 2023
Description
Reviewed
Aug 5, 2021
Published to the GitHub Advisory Database
Aug 25, 2021
Last updated
Jun 22, 2023
Affected versions of this crate unconditionally implements
Send
forBucket2
. This allows sending non-Send types to other threads.This can lead to data races when non Send types like
Cell<T>
orRc<T>
are contained insideBucket2
and sent across thread boundaries. The data races can potentially lead to memory corruption (as demonstrated in the PoC from the original report issue).The flaw was corrected in commit
15b2828
by adding aT: Send
bound to theSend
impl ofBucket2<T>
.References