An issue was discovered in the cache crate through 2020-11-24 for Rust.
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.
{
"cwe_ids": [
"CWE-362",
"CWE-77"
],
"github_reviewed": true,
"github_reviewed_at": "2021-08-18T20:30:56Z",
"nvd_published_at": "2021-08-08T06:15:00Z",
"severity": "HIGH"
}