From 913a847d344b3db8bf13718a19c6656d41803164 Mon Sep 17 00:00:00 2001 From: JOE1994 Date: Wed, 27 Jan 2021 11:48:06 -0500 Subject: [PATCH] Report 0030-cache to RustSec --- crates/cache/RUSTSEC-0000-0000.md | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 crates/cache/RUSTSEC-0000-0000.md 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.