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

Published Feb 15, 2022
·
Updated

Impact

The affected versions of this crate 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 the following problems:

- Unaligned memory accesses - 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. 32-bit targets with Atomic{I,U}64 and {i,u}64 have the same alignment are also not affected by this issue.

The following is a complete list of the builtin targets that may be affected. (last update: nightly-2022-02-11)

- armv7-apple-ios (tier 3) - armv7s-apple-ios (tier 3) - i386-apple-ios (tier 3) - i586-unknown-linux-gnu - i586-unknown-linux-musl - i686-apple-darwin (tier 3) - i686-linux-android - i686-unknown-freebsd - i686-unknown-haiku (tier 3) - i686-unknown-linux-gnu - i686-unknown-linux-musl - i686-unknown-netbsd (tier 3) - i686-unknown-openbsd (tier 3) - i686-wrs-vxworks (tier 3)

(script to get list)

Patches

This has been fixed in crossbeam-utils 0.8.7.

Affected 0.8.x releases have been yanked.

References

https://github.com/crossbeam-rs/crossbeam/pull/781

License

This advisory is in the public domain.

Other sources

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.

Affected Software

2 affected componentsFixes available
rust/crossbeam-utils<0.8.7
0.8.7
Crossbeam Project Crossbeam Rust<0.8.7

Event History

Feb 15, 2022
CVE Published
via MITRE·06:20 PM
Data Sourced
via MITRE·06:20 PM
DescriptionSeverityWeakness
Data Sourced
via NVD·07:15 PM
RemedyDescriptionSeverityWeaknessAffected Software
Feb 16, 2022
Advisory Published
via GitHub·10:36 PM

Frequently Asked Questions

1

What is CVE-2022-23639?

CVE-2022-23639 is a vulnerability in the crossbeam-utils library that provides atomics, synchronization primitives, scoped threads, and other utilities for concurrent programming in Rust.

2

What is the severity of CVE-2022-23639?

The severity of CVE-2022-23639 is high, with a severity value of 8.1.

3

What is the affected software for CVE-2022-23639?

The affected software is Crossbeam Project Crossbeam, specifically versions up to 0.8.7.

4

What is the fix for CVE-2022-23639?

To fix CVE-2022-23639, update to version 0.8.7 of the crossbeam-utils library.

5

What is the CWE ID for CVE-2022-23639?

The CWE ID for CVE-2022-23639 is CWE-362.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203