ghsa-qc84-gqf4-9926
Vulnerability from github
Impact
The affected version 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)
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.
{ "affected": [ { "package": { "ecosystem": "crates.io", "name": "crossbeam-utils" }, "ranges": [ { "events": [ { "introduced": "0" }, { "fixed": "0.8.7" } ], "type": "ECOSYSTEM" } ] } ], "aliases": [ "CVE-2022-23639" ], "database_specific": { "cwe_ids": [ "CWE-362" ], "github_reviewed": true, "github_reviewed_at": "2022-02-16T22:36:21Z", "nvd_published_at": "2022-02-15T19:15:00Z", "severity": "HIGH" }, "details": "### Impact\n\nThe affected version of this crate incorrectly assumed that the alignment of `{i,u}64` was always the same as `Atomic{I,U}64`. \n\nHowever, the alignment of `{i,u}64` on a 32-bit target can be smaller than `Atomic{I,U}64`.\n\nThis can cause the following problems:\n\n- Unaligned memory accesses\n- Data race\n\nCrates using `fetch_*` methods with `AtomicCell\u003c{i,u}64\u003e` are affected by this issue.\n\n32-bit targets without `Atomic{I,U}64` and 64-bit targets are not affected by this issue.\n32-bit targets with `Atomic{I,U}64` and `{i,u}64` have the same alignment are also not affected by this issue.\n\nThe following is a complete list of the builtin targets that may be affected. (last update: nightly-2022-02-11)\n\n- armv7-apple-ios (tier 3)\n- armv7s-apple-ios (tier 3)\n- i386-apple-ios (tier 3)\n- i586-unknown-linux-gnu\n- i586-unknown-linux-musl\n- i686-apple-darwin (tier 3)\n- i686-linux-android\n- i686-unknown-freebsd\n- i686-unknown-haiku (tier 3)\n- i686-unknown-linux-gnu\n- i686-unknown-linux-musl\n- i686-unknown-netbsd (tier 3)\n- i686-unknown-openbsd (tier 3)\n- i686-wrs-vxworks (tier 3)\n\n([script to get list](https://gist.github.com/taiki-e/3c7891e8c5f5e0cbcb44d7396aabfe10))\n\n### Patches\n\nThis has been fixed in crossbeam-utils 0.8.7.\n\nAffected 0.8.x releases have been yanked.\n\n### References\n\nhttps://github.com/crossbeam-rs/crossbeam/pull/781 \n\n### License\n\nThis advisory is in the public domain.", "id": "GHSA-qc84-gqf4-9926", "modified": "2022-08-11T21:55:33Z", "published": "2022-02-16T22:36:21Z", "references": [ { "type": "WEB", "url": "https://github.com/crossbeam-rs/crossbeam/security/advisories/GHSA-qc84-gqf4-9926" }, { "type": "ADVISORY", "url": "https://nvd.nist.gov/vuln/detail/CVE-2022-23639" }, { "type": "WEB", "url": "https://github.com/crossbeam-rs/crossbeam/pull/781" }, { "type": "PACKAGE", "url": "https://github.com/crossbeam-rs/crossbeam" }, { "type": "WEB", "url": "https://github.com/crossbeam-rs/crossbeam/releases/tag/crossbeam-utils-0.8.7" }, { "type": "WEB", "url": "https://rustsec.org/advisories/RUSTSEC-2022-0041.html" } ], "schema_version": "1.4.0", "severity": [ { "score": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H", "type": "CVSS_V3" } ], "summary": "crossbeam-utils Race Condition vulnerability" }
Sightings
Author | Source | Type | Date |
---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or seen somewhere by the user.
- Confirmed: The vulnerability is confirmed from an analyst perspective.
- Exploited: This vulnerability was exploited and seen by the user reporting the sighting.
- Patched: This vulnerability was successfully patched by the user reporting the sighting.
- Not exploited: This vulnerability was not exploited or seen by the user reporting the sighting.
- Not confirmed: The user expresses doubt about the veracity of the vulnerability.
- Not patched: This vulnerability was not successfully patched by the user reporting the sighting.