PT-2020-17627 · Rust · V9 Crate

Published

2020-12-18

·

Updated

2022-11-03

·

CVE-2020-36447

CVSS v3.1

8.1

High

VectorAV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
Name of the Vulnerable Software and Affected Versions v9 crate through 2020-12-18
Description An issue was discovered in the v9 crate, where affected versions unconditionally implement Sync for SyncRef<T>. This definition allows data races if &T is accessible through &SyncRef. The SyncRef<T> derives Clone and Debug, and the default implementations of those traits access &T by invoking T::clone() and T::fmt(). It is possible to create data races and undefined behavior by concurrently invoking SyncRef<T>::clone() or SyncRef<T>::fmt() from multiple threads with T: !Sync.
Recommendations For v9 crate through 2020-12-18, as a temporary workaround, consider avoiding concurrent invocation of SyncRef<T>::clone() or SyncRef<T>::fmt() from multiple threads with T: !Sync until a patch is available. At the moment, there is no information about a newer version that contains a fix for this vulnerability.

Exploit

Command Injection

Race Condition

Weakness Enumeration

Related Identifiers

CVE-2020-36447
GHSA-3837-87VH-XQ3W
GHSA-PFJQ-935C-4895
RUSTSEC-2020-0127

Affected Products

V9 Crate