GHSA-r88h-6987-g79f: Data races on syncpool
(updated )
Affected versions of this crate unconditionally implements Send
for Bucket2
. This allows sending non-Send types to other threads.
This can lead to data races when non Send types like Cell<T>
or Rc<T>
are contained inside Bucket2
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 a T: Send
bound to the Send
impl of Bucket2<T>
.
References
- github.com/Chopinsky/byte_buffer/commit/15b282877d1e576de2b337d8162bbf43ed1a0f2d
- github.com/Chopinsky/byte_buffer/issues/2
- github.com/Chopinsky/byte_buffer/tree/master/syncpool
- github.com/RustSec/advisory-db/blob/main/crates/syncpool/RUSTSEC-2020-0142.md
- github.com/advisories/GHSA-r88h-6987-g79f
- rustsec.org/advisories/RUSTSEC-2020-0142.html
Detect and mitigate GHSA-r88h-6987-g79f with GitLab Dependency Scanning
Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Learn more about Dependency Scanning →