From f51b0e27eb86c122b4670fbc80b2405b5be24f09 Mon Sep 17 00:00:00 2001 From: JOE1994 Date: Sat, 23 Jan 2021 22:51:33 -0500 Subject: [PATCH] Report 0051-syncpool to RustSec --- crates/syncpool/RUSTSEC-0000-0000.md | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 crates/syncpool/RUSTSEC-0000-0000.md diff --git a/crates/syncpool/RUSTSEC-0000-0000.md b/crates/syncpool/RUSTSEC-0000-0000.md new file mode 100644 index 0000000..a1d6c29 --- /dev/null +++ b/crates/syncpool/RUSTSEC-0000-0000.md @@ -0,0 +1,19 @@ +```toml +[advisory] +id = "RUSTSEC-0000-0000" +package = "syncpool" +date = "2020-11-29" +url = "https://github.com/Chopinsky/byte_buffer/issues/2" +categories = ["memory-corruption"] + +[versions] +patched = [] +``` + +# Send bound needed on T (for Send impl of `Bucket2`) + +Affected versions of this crate unconditionally implements `Send` for `Bucket2`. This allows sending non-Send types to other threads. + +This can lead to data races when non Send types like `Cell` or `Rc` are contained inside `Bucket2` and sent across thread boundaries. The data races can potentially lead to memory corruption (as demonstrated in the PoC from the original report issue). + +The flaw was corrected in commit 15b2828 by adding a `T: Send` bound to the `Send` impl of `Bucket2`. \ No newline at end of file