CVE-2020-36436 – unicycle
Package
Manager: cargo
Name: unicycle
Vulnerable Version: >=0 <0.7.1
Severity
Level: High
CVSS v3.1: CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
CVSS v4.0: CVSS:4.0/AV:N/AC:H/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
EPSS: 0.00336 pctl0.55788
Details
Data races in unicycle Affected versions of this crate unconditionally implemented `Send` & `Sync` for types `PinSlab<T>` & `Unordered<T, S>`. This allows sending non-Send types to other threads and concurrently accessing non-Sync types from multiple threads. This can result in a data race & memory corruption when types that provide internal mutability without synchronization are contained within `PinSlab<T>` or `Unordered<T, S>` and accessed concurrently from multiple threads. The flaw was corrected in commits 92f40b4 & 6a6c367 by adding trait bound `T: Send` to `Send` impls for `PinSlab<T>` & `Unordered<T, S>` and adding `T: Sync` to `Sync` impls for `PinSlab<T>` & `Unordered<T, S>`.
Metadata
Created: 2021-08-25T20:58:17Z
Modified: 2021-08-24T17:47:59Z
Source: https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2021/08/GHSA-686f-ch3r-xwmh/GHSA-686f-ch3r-xwmh.json
CWE IDs: ["CWE-119", "CWE-362"]
Alternative ID: GHSA-686f-ch3r-xwmh
Finding: F124
Auto approve: 1