Lucene search

K
osvGoogleOSV:RUSTSEC-2020-0126
HistoryNov 15, 2020 - 12:00 p.m.

SyncChannel<T> can move 'T: !Send' to other threads

2020-11-1512:00:00
Google
osv.dev
7

0.002 Low

EPSS

Percentile

61.8%

Affected versions of this crate unconditionally implement Send/Sync for SyncChannel&lt;T&gt;.
SyncChannel&lt;T&gt; doesn’t provide access to &T but merely serves as a channel that consumes and returns owned T.

Users can create UB in safe Rust by sending T: !Send to other threads with SyncChannel::send/recv APIs. Using T = Arc&lt;Cell&lt;_&gt; allows to create data races (which can lead to memory corruption), and using T = MutexGuard&lt;T&gt; allows to unlock a mutex from a thread that didn’t lock the mutex.

0.002 Low

EPSS

Percentile

61.8%

Related for OSV:RUSTSEC-2020-0126