mvertescher/libsbc-rs · Security
Data races in libsbc
- GHSA ID
- GHSA-f6g6-54hm-fhxv
- CVE ID
- CVE-2020-36440
- Severity
- high
- Published
- Updated
- CVSS
- 8.1 · CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
- CVSS v3
- 8.1 · CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
Description
Affected versions of this crate implements Send for Decoder<R> for any R: Read. This allows Decoder<R> to contain R: !Send and carry (move) it 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<R>.
CWEs
- CWE-119 · Improper Restriction of Operations within the Bounds of a Memory Buffer
- CWE-362 · Concurrent Execution using Shared Resource with Improper Synchronization ('Race Condition')
References
- https://nvd.nist.gov/vuln/detail/CVE-2020-36440 ↗
- https://rustsec.org/advisories/RUSTSEC-2020-0120.html ↗
- https://github.com/mvertescher/libsbc-rs/commit/a34d6e1 ↗
- https://raw.githubusercontent.com/rustsec/advisory-db/main/crates/libsbc/RUSTSEC-2020-0120.md ↗
- https://github.com/advisories/GHSA-f6g6-54hm-fhxv ↗