VDB
Sign up
MEDIUM4.7

GHSA-39xg-8p43-h76x

Data races in reffers

Details

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` by adding trait bound V: Send + Sync to ARefss::map() API.

Are you affected?

Enter the version of the package you're using.

Affected packages

crates.io/reffers
Introduced in: 0Fixed in: 0.6.1

Upgrade reffers to 0.6.1 or newer (ecosystem crates.io).

References