CVE-2020-36441: Data race in abox
(updated )
Affected versions of this crate implements Send
/Sync
for AtomicBox<T>
without requiring T: Send
/T: Sync
. This allows to create data races to T: !Sync
and send T: !Send
to another thread. Such behavior breaks the compile-time thread safety guarantees of Rust, and allows users to incur undefined behavior using safe Rust (e.g. memory corruption from data race). The flaw was corrected in commit 34c2b9e
by adding trait bound T: Send
to Send
impl for AtomicBox<T>
and trait bound T: Sync
to Sync
impl for AtomicBox<T>
.
References
- github.com/SonicFrog/abox
- github.com/SonicFrog/abox/commit/34c2b9e
- github.com/SonicFrog/abox/issues/1
- github.com/SonicFrog/abox/pull/2
- github.com/advisories/GHSA-r626-fc64-3q28
- nvd.nist.gov/vuln/detail/CVE-2020-36441
- raw.githubusercontent.com/rustsec/advisory-db/main/crates/abox/RUSTSEC-2020-0121.md
- rustsec.org/advisories/RUSTSEC-2020-0121.html
Detect and mitigate CVE-2020-36441 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 →