diff --git a/crates/cache/RUSTSEC-0000-0000.md b/crates/cache/RUSTSEC-0000-0000.md new file mode 100644 index 0000000..a9ddb9d --- /dev/null +++ b/crates/cache/RUSTSEC-0000-0000.md @@ -0,0 +1,19 @@ +```toml +[advisory] +id = "RUSTSEC-0000-0000" +package = "cache" +date = "2020-11-24" +url = "https://github.com/krl/cache/issues/1" +categories = ["memory-corruption", "thread-safety"] + +[versions] +patched = [] +``` + +# Cache: Send/Sync impls needs trait bounds on `K` + +Affected versions of this crate unconditionally implement Send/Sync for `Cache`. +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>` or `Rc` as `K` in `Cache`. It is also possible to create data races by using types like `Cell` or `RefCell` (types that are `Send` but not `Sync`). +Such data races can lead to memory corruption.