Affected versions of this crate unconditionally implement Sync for SyncRef<T>. This definition allows data races if &T is accessible through &SyncRef.
SyncRef<T> 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<T>::clone() or SyncRef<T>::fmt() from multiple threads with T: !Sync.
{
"github_reviewed": true,
"cwe_ids": [
"CWE-77"
],
"github_reviewed_at": "2021-08-18T20:31:57Z",
"nvd_published_at": "2021-08-08T06:15:00Z",
"severity": "HIGH"
}