CVE-2021-32810
crossbeam-deque is a package of work-stealing deques for building task schedulers when programming in Rust. In versions prior to 0.7.4 and 0.8.0, 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.
02 / AFFECTED SOFTWARE
Affected packages
56 explicit affected versions
03 / CONNECTIONS
Connected vulnerabilities
04 / EVIDENCE
Source records
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. Credits to [@kmaork](https://github.com/kmaork) for discovering, reporting and fixing the bug.
### 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.
crossbeam-deque is a package of work-stealing deques for building task schedulers when programming in Rust. In versions prior to 0.7.4 and 0.8.0, 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.
05 / REFERENCES
Further evidence
- https://crates.io/crates/crossbeam-deque
- https://github.com/crossbeam-rs/crossbeam/security/advisories/GHSA-pqqp-xmhj-wgcw
- https://rustsec.org/advisories/RUSTSEC-2021-0093.html
- https://github.com/crossbeam-rs/crossbeam
- https://lists.fedoraproject.org/archives/list/[email protected]/message/7EZILHZDRGDPOBQ4KTW3E5PPMKLHGH5N
- https://lists.fedoraproject.org/archives/list/[email protected]/message/AWHNNBJCU4EHA2X5ZAMJMGLDUYS5FEPP
- https://lists.fedoraproject.org/archives/list/[email protected]/message/AYBSLIYFANZLCYWOGTIYZUM26TJRH7WU
- https://lists.fedoraproject.org/archives/list/[email protected]/message/CY5T3FCE4MUYSPKEWICLVJBBODGJ6SZE
- https://lists.fedoraproject.org/archives/list/[email protected]/message/EW5B2VTDVMJ6B3DA4VLMAMW2GGDCE2BK
- https://lists.fedoraproject.org/archives/list/[email protected]/message/LCIBFGBSL3JSVJQTNEDEIMZGZF23N2KE
- https://lists.fedoraproject.org/archives/list/[email protected]/message/OCLMH7B7B2MF55ET4NQNPH7JWISFX4RT
- https://lists.fedoraproject.org/archives/list/[email protected]/message/RRPKBRXCRNGNMVFQPFD4LM3QKPEMBQQR
- https://lists.fedoraproject.org/archives/list/[email protected]/message/TFUBWBYCPSSXTJGEAQ67CJUNQJBOCM26
- https://lists.fedoraproject.org/archives/list/[email protected]/message/U3LSN3B43TJSFIOB3QLPBI3RCHRU5BLO
- https://lists.fedoraproject.org/archives/list/[email protected]/message/VQZIEJQBV3S72BHD5GKJQF3NVYNRV5CF
- https://lists.fedoraproject.org/archives/list/[email protected]/message/WGB2H35CTZDHOV3VLC5BM6VFGURLLVRP
- https://lists.fedoraproject.org/archives/list/[email protected]/message/XFBZWCLG7AGLJO4A7K5IMJVPLSWZ5TJP
- https://lists.fedoraproject.org/archives/list/[email protected]/message/ZQDIBB7VR3ER52FMSMNJPAWNDO5SITCE
- https://nvd.nist.gov/vuln/detail/CVE-2021-32810
- https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/7EZILHZDRGDPOBQ4KTW3E5PPMKLHGH5N/
- https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/AWHNNBJCU4EHA2X5ZAMJMGLDUYS5FEPP/
- https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/AYBSLIYFANZLCYWOGTIYZUM26TJRH7WU/
- https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/CY5T3FCE4MUYSPKEWICLVJBBODGJ6SZE/
- https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/EW5B2VTDVMJ6B3DA4VLMAMW2GGDCE2BK/
- https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/LCIBFGBSL3JSVJQTNEDEIMZGZF23N2KE/
- https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/OCLMH7B7B2MF55ET4NQNPH7JWISFX4RT/
- https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/RRPKBRXCRNGNMVFQPFD4LM3QKPEMBQQR/
- https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/TFUBWBYCPSSXTJGEAQ67CJUNQJBOCM26/
- https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/U3LSN3B43TJSFIOB3QLPBI3RCHRU5BLO/
- https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/VQZIEJQBV3S72BHD5GKJQF3NVYNRV5CF/
- https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/WGB2H35CTZDHOV3VLC5BM6VFGURLLVRP/
- https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/XFBZWCLG7AGLJO4A7K5IMJVPLSWZ5TJP/
- https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/ZQDIBB7VR3ER52FMSMNJPAWNDO5SITCE/