VDB
Sign up
HIGH8.1

GHSA-fqq2-xp7m-xvm8

Data race in ruspiro-singleton

Details

`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`.

Are you affected?

Enter the version of the package you're using.

Affected packages

crates.io/ruspiro-singleton
Introduced in: 0Fixed in: 0.4.1

Upgrade ruspiro-singleton to 0.4.1 or newer (ecosystem crates.io).

References