CVE-2020-36436:
Data races in unicycle
8.1
CVSS Score
3.1
Basic Information
CVE ID
GHSA ID
EPSS Score
0.55836%
CWE
Published
8/25/2021
Updated
1/27/2023
KEV Status
No
Technology
Rust
Technical Details
CVSS Vector
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
Package Name | Ecosystem | Vulnerable Versions | First Patched Version |
---|---|---|---|
unicycle | rust | < 0.7.1 | 0.7.1 |
Vulnerability Intelligence
Miggo AI
Root Cause Analysis
The vulnerability stems from improper Send/Sync trait implementations for PinSlab and Unordered types. The original implementations lacked required T: Send/Sync bounds, as shown in commit diffs. This allowed these containers to be thread-safe even when containing non-thread-safe types, violating Rust's safety guarantees. The explicit unsafe
impl blocks for Send/Sync
traits in the pre-patch code (without type parameter constraints) are the root cause functions enabling data races.