CVE-2020-36215: Data races in hashconsing
7.5
CVSS Score
3.1
Basic Information
CVE ID
GHSA ID
EPSS Score
0.59217%
CWE
Published
8/25/2021
Updated
6/22/2023
KEV Status
No
Technology
Rust
Technical Details
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Package Name | Ecosystem | Vulnerable Versions | First Patched Version |
---|---|---|---|
hashconsing | rust | < 1.1.0 | 1.1.0 |
Vulnerability Intelligence
Miggo AI
Root Cause Analysis
The vulnerability stems from unconditional unsafe implementations of Send/Sync traits for HConsed<T> as shown in the GitHub issue code snippet. These implementations lacked bounds requiring T: Send/Sync, violating Rust's safety guarantees. The explicit unsafe impl
blocks in lib.rs
(lines 354-355 in historical version) allowed sharing of interior-mutable types like Cell
across threads, enabling data races. The high confidence comes from direct evidence in the provided issue description showing the problematic trait implementations and their consequences.