Lucene search

K
osvGoogleOSV:RUSTSEC-2020-0115
HistoryNov 16, 2020 - 12:00 p.m.

Singleton lacks bounds on Send and Sync.

2020-11-1612:00:00
Google
osv.dev
10
singleton
static
data races
concurrent programs
trait bounds
sync
bug fix
software

EPSS

0.002

Percentile

61.8%

Singleton<T> is meant to be a static object that can be initialized lazily. In
order to satisfy the requirement that static items must implement Sync,
Singleton implemented both Sync and Send unconditionally.

This allows for a bug where non-Sync types such as Cell can be used in
singletons and cause data races in concurrent programs.

The flaw was corrected in commit b0d2bd20e by adding trait bounds, requiring
the contaiend type to implement Sync.

EPSS

0.002

Percentile

61.8%

Related for OSV:RUSTSEC-2020-0115