Affected versions of the crate used a UnsafeCell in thread-local storage to return a noop waker reference, assuming that the reference would never be returned from another thread.
This resulted in a segmentation fault crash if Waker::wakebyref() was called on a waker returned from another thread due to it attempting to dereference a pointer that wasn't accessible from the main thread.
{ "nvd_published_at": "2020-12-31T09:15:00Z", "cwe_ids": [ "CWE-476" ], "severity": "MODERATE", "github_reviewed": true, "github_reviewed_at": "2022-06-16T23:58:57Z" }