Lucene search

K
rustsecRustsecRUSTSEC-2020-0116
HistoryNov 15, 2020 - 12:00 p.m.

PinSlab<T> and Unordered<T, S> need bounds on their Send/Sync traits

2020-11-1512:00:00
rustsec.org
7

0.002 Low

EPSS

Percentile

61.9%

Affected versions of this crate unconditionally implemented Send & Sync for types PinSlab&lt;T&gt; & Unordered&lt;T, S&gt;. 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&lt;T&gt; or Unordered&lt;T, S&gt; 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&lt;T&gt; & Unordered&lt;T, S&gt; and adding T: Sync to Sync impls for PinSlab&lt;T&gt; & Unordered&lt;T, S&gt;.

CPENameOperatorVersion
unicyclelt0.7.1

0.002 Low

EPSS

Percentile

61.9%

Related for RUSTSEC-2020-0116