GitHub Advisoryadvisory · crates.io
GHSA-pfjq-935c-4895 Data races in v9
HIGH
Official page ↗
- Ecosystem
- crates.io
- Packages
- v9
- Severity
- High
- CVSS vector
- CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
- Weaknesses
- CWE-362
- Reviewed
- 2021-08-05
Affected packages
• crates.io v9: < 0.1.43 → fixed in 0.1.43
Description
Affected versions of this crate unconditionally implement `Sync` for `SyncRef`. This definition allows data races if `&T` is accessible through `&SyncRef`.
`SyncRef` derives `Clone` and `Debug`, and the default implementations of those traits access `&T` by invoking `T::clone()` & `T::fmt()`. It is possible to create data races & undefined behavior by concurrently invoking `SyncRef::clone()` or `SyncRef::fmt()` from multiple threads with `T: !Sync`.
Related
Weakness · CWE (1)
- CWE-362 Concurrent Execution using Shared Resource with Improper Synchronization weakness