Skip to main content
← All vulnerabilities
CVE-2022-23639GHSA-QC84-GQF4-9926RUSTSEC-2022-0041

Improper Restriction of Operations within the Bounds of a Memory Buffer and Race Condition in crossbeam-utils

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 0.8.7
None on Exploit-DB, Metasploit or GitHub
  • Exploitation: poc
  • Automatable: no
  • Technical impact: total

Summary

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.

Timeline

  1. CVE published
  2. CISA SSVC assessment

    Exploitation: poc · Automatable: no · Technical impact: total

  3. Record last updated

Affected versions

  • crossbeam-rs crossbeam

    fixed in 0.8.7

  • crossbeam-utilscrates.io

    fixed in 0.8.7

  • crossbeam-utilscrates.io

    From 0.0.0-0 · fixed in 0.8.7

References 3

GitHub · crossbeam-rs/crossbeam