logo

GHSA-9c9f-7x9p-4wqp qcell

Package

Manager: cargo
Name: qcell
Vulnerable Version: >=0 <0.4.3

Severity

Level: High

CVSS v3.1: CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N/E:U/RL:O/RC:C

CVSS v4.0: CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N

EPSS: N/A pctlN/A

Details

A malicious coder can get unsound access to TCell or TLCell memory This is impossible to do by accident, but by carefully constructing marker types to be covariant, a malicious coder can cheat the singleton check in `TCellOwner` and `TLCellOwner`, giving unsound access to cell memory. This could take the form of getting two mutable references to the same memory, or a mutable reference and an immutable reference. The fix is for the crate to internally force the marker type to be invariant. This blocks the conversion between covariant types which Rust normally allows.

Metadata

Created: 2022-06-17T00:16:11Z
Modified: 2022-06-17T00:16:11Z
Source: https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2022/06/GHSA-9c9f-7x9p-4wqp/GHSA-9c9f-7x9p-4wqp.json
CWE IDs: []
Alternative ID: N/A
Finding: F113
Auto approve: 1