In the affected version of this crate, the result of the race condition is that one or more tasks in the worker queue can be popped twice instead of other tasks that are forgotten and never popped. If tasks are allocated on the heap, this can cause double free and a memory leak. If not, this still can cause a logical bug.
Crates using Stealer::steal
, Stealer::steal_batch
, or Stealer::steal_batch_and_pop
are affected by this issue.
This has been fixed in crossbeam-deque 0.8.1 and 0.7.4.
This issue was reported and fixed by Maor Kleinberger.
This advisory is in the public domain.
{ "nvd_published_at": "2021-08-02T19:15:00Z", "cwe_ids": [ "CWE-362" ], "severity": "CRITICAL", "github_reviewed": true, "github_reviewed_at": "2021-08-02T22:34:26Z" }