diff --git a/crates/buttplug/RUSTSEC-2020-0111.md b/crates/buttplug/RUSTSEC-2020-0111.md deleted file mode 100644 index 8b78acd..0000000 --- a/crates/buttplug/RUSTSEC-2020-0111.md +++ /dev/null @@ -1,21 +0,0 @@ -```toml -[advisory] -id = "RUSTSEC-2020-0111" -package = "buttplug" -date = "2020-12-18" -url = "https://github.com/buttplugio/buttplug-rs/issues/225" -categories = ["memory-corruption"] - -[versions] -# Versions which include fixes for this vulnerability -patched = [">= 1.0.4"] -``` - -# ButtplugFutureStateShared allows data race to (!Send|!Sync) objects - -`ButtplugFutureStateShared` implements `Send` & `Sync` regardless of `T`. - -If `T: !Send` for `ButtplugFutureStateShared`, it is possible to move non-Send types across thread boundaries (e.g. `T`=`Rc`) and lead to undefined behavior. -If `T: !Sync` for `ButtplugFutureStateShared`, it is possible to cause data race to `T` (e.g. `T`=`Arc>`) and lead to undefined behavior. - -The flaw was corrected in version 1.0.4 by removing manual implementations of `Send`/`Sync` for `ButtplugFutureStateShared` to let rustc generate auto trait implementations with correct trait bounds on `T`.