GitHub Advisoryadvisory · crates.io

GHSA-pqqp-xmhj-wgcw crossbeam-deque Data Race before v0.7.4 and v0.8.1

CRITICAL Published 2021-08-25 Modified 2022-08-10 Official page ↗
Aliases
CVE-2021-32810
Ecosystem
crates.io
Packages
crossbeam-deque
Severity
Critical
CVSS vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Weaknesses
CWE-362
Reviewed
2021-08-02

Affected packages

• crates.io crossbeam-deque: < 0.7.4 → fixed in 0.7.4 • crates.io crossbeam-deque: >= 0.8.0, < 0.8.1 → fixed in 0.8.1

Description

Impact 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. Patches This has been fixed in crossbeam-deque 0.8.1 and 0.7.4. Credits This issue was reported and fixed by Maor Kleinberger. License This advisory is in the public domain.

Related

Alias · CVE (1)

  • CVE-2021-32810 crossbeam-deque is a package of work-stealing deques for building task schedulers when programming in Rust. vulnerability

Weakness · CWE (1)

  • CWE-362 Concurrent Execution using Shared Resource with Improper Synchronization weakness

References