Affected versions of this crate unconditionally implemented Send for ReadTicket<T> & WriteTicket<T>.
This allows to send non-Send T to other threads.
This can allows creating data races by cloning types with internal mutability and sending them to other threads (as T of ReadTicket<T>/WriteTicket<T>). Such data races can cause memory corruption or other undefined behavior.
The flaw was corrected in commit a986a93 by adding T: Send bounds to Send impls of ReadTicket<T>/WriteTicket<T>.
{
"github_reviewed": true,
"cwe_ids": [
"CWE-362"
],
"nvd_published_at": null,
"github_reviewed_at": "2021-08-05T21:48:24Z",
"severity": "HIGH"
}