diwic/reffers-rs · Security
Data races in reffers
- GHSA ID
- GHSA-39xg-8p43-h76x
- CVE ID
- CVE-2020-36203
- Severity
- medium
- Published
- Updated
- CVSS
- 4.7 · CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H
- CVSS v3
- 4.7 · CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H
Description
ARefss<'a, V> is a type that is assumed to contain objects that are Send + Sync.
In the affected versions of this crate, Send/Sync traits are unconditionally implemented for ARefss<'a, V>.
By using the ARefss::map() API, we can insert a !Send or !Sync object into ARefss<'a, V>. After that, it is possible to create a data race to the inner object of ARefss<'a, V>, which can lead to undefined behavior & memory corruption.
The flaw was corrected in commit 6dd7ca0 by adding trait bound V: Send + Sync to ARefss::map() API.
CWEs
- CWE-362 · Concurrent Execution using Shared Resource with Improper Synchronization ('Race Condition')
- CWE-787 · Out-of-bounds Write