Lucene search

K
osvGoogleOSV:RUSTSEC-2020-0094
HistoryDec 01, 2020 - 12:00 p.m.

Unsound: can make `ARefss` contain a !Send, !Sync object.

2020-12-0112:00:00
Google
osv.dev
8

0.001 Low

EPSS

Percentile

25.8%

ARefss<'a, V> is a type that is assumed to contain objects that are Send + Sync.

In the affected versions of this crate,
Send/Sync traits are unconditionally implemented for ARefss<'a, V>.

By using the ARefss::map() API, we can insert a !Send or !Sync object into ARefss<'a, V>. After that, it is possible to create a data race to the inner object of ARefss<'a, V>, which can lead to undefined behavior & memory corruption.

The flaw was corrected in commit 6dd7ca0 (https://github.com/diwic/reffers-rs/commit/6dd7ca0d50f2464df708975cdafcfaeeb6d41c66) by adding trait bound V: Send + Sync to ARefss::map() API.

CPENameOperatorVersion
refferslt0.6.1

0.001 Low

EPSS

Percentile

25.8%

Related for OSV:RUSTSEC-2020-0094