RUSTSEC-2020-0121

AtomicBox implements Send/Sync for any T: Sized

Issued
Package
abox (crates.io)
Type
Vulnerability
Categories
  • memory-corruption
  • thread-safety
Details
https://github.com/SonicFrog/abox/issues/1
Patched
  • >=0.4.1

Description

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

More