An issue was discovered in the atomic-option crate through 2020-10-31 for Rust. Because AtomicOption<T> implements Sync unconditionally, a…
mitre·NVD-CWE-noinfo·Published 2021-01-22
In the affected versions of this crate, `AtomicOption<T>` unconditionally implements `Sync`. This allows programmers to move non-Sync types across thread boundaries (e.g. `Rc<T>`, `Arc<Cell<T>>`), which can lead to data races and undefined behavior. It is also possible to send non-Send types like `std::sync::MutexGuard` to other threads, which can lead to undefined behavior.