CVE-2020-36220
Data race in va-ts
An issue was discovered in the va-ts crate before 0.0.4 for Rust. Because Demuxer<T> omits a required T: Send bound, a data race and memory corruption can occur.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- High
- Privileges needed
- None
- User interaction
- None
What an attacker can affect
- Confidentiality
- None
- Integrity
- None
- Availability
- High
Exploit likelihood
What each source reports
NVD Score used
5.9
An issue was discovered in the va-ts crate before 0.0.4 for Rust. Because Demuxer<T> omits a required T: Send bound, a data race and memory corruption can occur.
- Record
CVE-2020-36220- CVSS 3.1
- 5.9 Medium
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H - CVSS 2.0
- 4.3 Medium
AV:N/AC:M/Au:N/C:N/I:N/A:P - Weakness
- CWE-662, CWE-667, CWE-787
- Updated
- 2026-11-02
CVE List No score
An issue was discovered in the va-ts crate before 0.0.4 for Rust. Because Demuxer<T> omits a required T: Send bound, a data race and memory corruption can occur.
- Record
CVE-2020-36220- Updated
- 2026-11-02
EUVDEUVD-2021-1546 No score
An issue was discovered in the va-ts crate before 0.0.4 for Rust. Because Demuxer<T> omits a required T: Send bound, a data race and memory corruption can occur.
- Record
EUVD-2021-1546- Updated
- 2026-11-03
GitHub AdvisoriesGHSA-3hj2-hh36-hv9v
5.9
Data race in va-ts
In the affected versions of this crate, Demuxer<T> unconditionally implemented Send with no trait bounds on T. This allows sending a non-Send type T across thread boundaries, which can cause undefined behavior like unlocking a mutex from a thread that didn't lock the mutex, or memory corruption from data race. The flaw was corrected in commit 0562cbf by adding a T: Send bound to the Send impl for Demuxer<T>.
- Record
GHSA-3hj2-hh36-hv9v- CVSS 3.1
- 5.9 Medium
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H - Weakness
- CWE-662, CWE-667, CWE-787
- Updated
- 2026-11-02
OSVGHSA-3hj2-hh36-hv9v
5.9
Data race in va-ts
In the affected versions of this crate, Demuxer<T> unconditionally implemented Send with no trait bounds on T. This allows sending a non-Send type T across thread boundaries, which can cause undefined behavior like unlocking a mutex from a thread that didn't lock the mutex, or memory corruption from data race. The flaw was corrected in commit 0562cbf by adding a T: Send bound to the Send impl for Demuxer<T>.
- Record
GHSA-3hj2-hh36-hv9v- CVSS 3.1
- 5.9 Medium
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H - Weakness
- CWE-662, CWE-667, CWE-787
- Updated
- 2026-11-02
OSVRUSTSEC-2020-0114
5.9
`Demuxer` can carry non-Send types across thread boundaries
In the affected versions of this crate, Demuxer<T> unconditionally implemented Send with no trait bounds on T.
This allows sending a non-Send type T across thread boundaries, which can cause undefined behavior like unlocking a mutex from a thread that didn't lock the mutex, or memory corruption from data race.
The flaw was corrected in commit 0562cbf by adding a T: Send bound to the Send impl for Demuxer<T>.
- Record
RUSTSEC-2020-0114- CVSS 3.1
- 5.9 Medium
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H - Updated
- 2026-11-02
Affected products
Affected packages
History
| Recorded | Changed | Sources |
|---|---|---|
| facts | ||
| aliases | EUVD | |
| first indexed | CVE List, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2020-36220 is a medium vulnerability (CVSS 5.9) in Va-ts Project Va-ts, published December 22, 2020. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.81%, the 57th percentile. Fixed in va-ts 0.0.4.