PT-2020-17587 · Rust · Hashconsing

Published

2020-11-10

·

Updated

2021-08-25

·

CVE-2020-36215

CVSS v3.1

7.5

High

VectorAV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Name of the Vulnerable Software and Affected Versions hashconsing versions prior to 1.1.0
Description The issue arises from the hashconsing crate's implementation of Send and Sync traits for its HConsed type without proper restrictions. This allows non-Sync types, such as Cell, to be shared across threads, leading to undefined behavior and memory corruption in concurrent programs.
Recommendations For versions prior to 1.1.0, update to version 1.1.0 or later to resolve the issue. As a temporary workaround, consider restricting the use of the HConsed type to only Sendable and Syncable types to minimize the risk of exploitation. Avoid sharing non-Sync types, such as Cell, across threads until the issue is resolved.

Exploit

Fix

Memory Corruption

Found an issue in the description? Have something to add? Feel free to write us 👾

Weakness Enumeration

Related Identifiers

CVE-2020-36215
GHSA-RW2C-C256-3R53
RUSTSEC-2020-0107

Affected Products

Hashconsing