{"id":"CVE-2020-36446","aliases":["GHSA-8892-84wf-cg8f","RUSTSEC-2020-0126"],"url":"https://o3.security/vulnerability/CVE-2020-36446","summary":"Data races in signal-simple","details":"Affected versions of this crate unconditionally implement Send/Sync for SyncChannel<T>. SyncChannel<T> doesn't provide access to &T but merely serves as a channel that consumes and returns owned T.\n\nUsers can create UB in safe Rust by sending T: !Send to other threads with SyncChannel::send/recv APIs. Using T = Arc<Cell<_> allows to create data races (which can lead to memory corruption), and using T = MutexGuard<T> allows to unlock a mutex from a thread that didn't lock the mutex.","published":"2021-08-25T20:59:13Z","modified":"2023-11-08T04:03:45.337562Z","cvss":{"score":8.1,"severity":"HIGH","vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H"},"epss":{"score":0.00766,"percentile":0.52333,"asOf":"2026-08-23"},"cisaKev":null,"exploitsKnown":0,"affectedPackages":[{"ecosystem":"crates.io","name":"signal-simple","fixedVersion":null}],"fix":null,"references":[{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2020-36446"},{"type":"WEB","url":"https://github.com/kitsuneninetails/signal-rust/issues/2"},{"type":"WEB","url":"https://raw.githubusercontent.com/rustsec/advisory-db/main/crates/signal-simple/RUSTSEC-2020-0126.md"},{"type":"WEB","url":"https://rustsec.org/advisories/RUSTSEC-2020-0126.html"},{"type":"PACKAGE","url":"http://github.com/kitsuneninetails/signal-rust"}],"provenance":{"sources":["OSV.dev","FIRST.org (EPSS)"],"lastVerified":"2023-11-08T04:03:45.337562Z"}}