crossbeam-utils provides atomics, synchronization primitives, scoped threads, and other utilities for concurrent programming in Rust. crossbeam-utils prior to version 0.8.7 incorrectly assumed that the alignment of `{i,u}64` was always the same as `Atomic{I,U}64`. However, the alignment of `{i,u}64` on a 32-bit target can be smaller than `Atomic{I,U}64`. This can cause unaligned memory accesses and data race. Crates using `fetch_*` methods with `AtomicCell<{i,u}64>` are affected by this issue. 32-bit targets without `Atomic{I,U}64` and 64-bit targets are not affected by this issue. This has been fixed in crossbeam-utils 0.8.7. There are currently no known workarounds.
References
Link | Resource |
---|---|
https://github.com/crossbeam-rs/crossbeam/releases/tag/crossbeam-utils-0.8.7 | Patch Third Party Advisory |
https://github.com/crossbeam-rs/crossbeam/security/advisories/GHSA-qc84-gqf4-9926 | Exploit Third Party Advisory |
https://github.com/crossbeam-rs/crossbeam/pull/781 | Issue Tracking Patch Third Party Advisory |
Configurations
Information
Published : 2022-02-15 11:15
Updated : 2023-02-10 08:28
NVD link : CVE-2022-23639
Mitre link : CVE-2022-23639
JSON object : View
CWE
CWE-362
Concurrent Execution using Shared Resource with Improper Synchronization ('Race Condition')
Products Affected
crossbeam_project
- crossbeam