RUSTSEC-2020-0128

Cache: Send/Sync impls needs trait bounds on K

Issued
Package
cache (crates.io)
Type
Vulnerability
Categories
  • memory-corruption
  • thread-safety
Details
https://github.com/krl/cache/issues/1
Patched
no patched versions

Description

Affected versions of this crate unconditionally implement Send/Sync for Cache<K>. This allows users to insert K that is not Send or not Sync.

This allows users to create data races by using non-Send types like Arc<Cell<T>> or Rc<T> as K in Cache<K>. It is also possible to create data races by using types like Cell<T> or RefCell<T> (types that are Send but not Sync). Such data races can lead to memory corruption.

More