Affected versions of this crate implements Send
for Decoder<R>
for any R: Read
. This allows Decoder<R>
to contain R: !Send
and carry (move) it to another thread.
This can result in undefined behavior such as memory corruption from data race on R
, or dropping R = MutexGuard<_>
from a thread that didn't lock the mutex.
The flaw was corrected in commit a34d6e1 by adding trait bound R: Send
to the Send
impl for Decoder<R>
.
{ "nvd_published_at": "2021-08-08T06:15:00Z", "github_reviewed_at": "2021-08-09T22:36:23Z", "severity": "HIGH", "github_reviewed": true, "cwe_ids": [ "CWE-119", "CWE-362" ] }