diff --git a/crates/libsbc/RUSTSEC-0000-0000.md b/crates/libsbc/RUSTSEC-0000-0000.md new file mode 100644 index 0000000..81997d3 --- /dev/null +++ b/crates/libsbc/RUSTSEC-0000-0000.md @@ -0,0 +1,20 @@ +```toml +[advisory] +id = "RUSTSEC-0000-0000" +package = "libsbc" +date = "2020-11-10" +url = "https://github.com/mvertescher/libsbc-rs/issues/4" +categories = ["memory-corruption"] +informational = "unsound" + +[versions] +patched = [">= 0.1.5"] +``` + +# Minor soundness issue with Decoder's Send trait + +Affected versions of this crate implements `Send` for `Decoder` for any `R: Read`. This allows to use `R: !Send` in `Decoder` to send a non-Send type to another thread. + +This can result in undefined behavior such as memory corruption from data race on `R`, or dropping `R = MutexGuard<_>` from a thread that didn't lock the mutex. + +The flaw was corrected in commit a34d6e1 by adding trait bound `R: Send` to the `Send` impl for `Decoder`.