From 735a9dbbe23f3e3ee4830645afdac74dd92dd9f2 Mon Sep 17 00:00:00 2001 From: JOE1994 Date: Sun, 24 Jan 2021 21:52:25 -0500 Subject: [PATCH] Report 0027-libsbc to RustSec --- crates/libsbc/RUSTSEC-0000-0000.md | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 crates/libsbc/RUSTSEC-0000-0000.md 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`.