CVE-2020-36457: Data races in lever
8.1
CVSS Score
3.1
Basic Information
CVE ID
GHSA ID
EPSS Score
0.64009%
CWE
Published
8/25/2021
Updated
3/31/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 |
---|---|---|---|
lever | rust | < 0.1.1 | 0.1.1 |
Vulnerability Intelligence
Miggo AI
Root Cause Analysis
The vulnerability stems from unconditional implementation of Send/Sync
traits in AtomicBox
. The pre-patch code (unsafe impl<T: Sized> Sync/Send
) lacked required bounds, violating Rust's thread safety guarantees. This allowed dangerous cross-thread sharing of types like Cell
(which isn't Sync
) and Rc
(which isn't Send
), enabling data races. The commit diff explicitly shows these trait implementations being modified to add T: Sync/Send
bounds, confirming these were the vulnerable components. The added compile-fail test further validates that improper usage is now prevented.