rustsec-2020-0121
Vulnerability from osv_rustsec
Published
2020-11-10 12:00
Modified
2023-06-13 13:10
Summary
AtomicBox<T> implements Send/Sync for any `T: Sized`
Details
Affected versions of this crate implements Send/Sync for AtomicBox<T> without requiring T: Send/T: Sync. This allows to create data races to T: !Sync and send T: !Send to another thread.
Such behavior breaks the compile-time thread safety guarantees of Rust, and allows users to incur undefined behavior using safe Rust (e.g. memory corruption from data race).
The flaw was corrected in commit 34c2b9e by adding trait bound T: Send to Send impl for AtomicBox<T> and trait bound T: Sync to Sync impl for AtomicBox<T>.
{
"affected": [
{
"database_specific": {
"categories": [
"memory-corruption",
"thread-safety"
],
"cvss": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H",
"informational": null
},
"ecosystem_specific": {
"affected_functions": null,
"affects": {
"arch": [],
"functions": [],
"os": []
}
},
"package": {
"ecosystem": "crates.io",
"name": "abox",
"purl": "pkg:cargo/abox"
},
"ranges": [
{
"events": [
{
"introduced": "0.0.0-0"
},
{
"fixed": "0.4.1"
}
],
"type": "SEMVER"
}
],
"versions": []
}
],
"aliases": [
"CVE-2020-36441",
"GHSA-r626-fc64-3q28"
],
"database_specific": {
"license": "CC0-1.0"
},
"details": "Affected versions of this crate implements `Send`/`Sync` for `AtomicBox\u003cT\u003e` without requiring `T: Send`/`T: Sync`. This allows to create data races to `T: !Sync` and send `T: !Send` to another thread.\n\nSuch behavior breaks the compile-time thread safety guarantees of Rust, and allows users to incur undefined behavior using safe Rust (e.g. memory corruption from data race).\n\nThe flaw was corrected in commit 34c2b9e by adding trait bound `T: Send` to `Send` impl for `AtomicBox\u003cT\u003e` and trait bound `T: Sync` to `Sync` impl for `AtomicBox\u003cT\u003e`.",
"id": "RUSTSEC-2020-0121",
"modified": "2023-06-13T13:10:24Z",
"published": "2020-11-10T12:00:00Z",
"references": [
{
"type": "PACKAGE",
"url": "https://crates.io/crates/abox"
},
{
"type": "ADVISORY",
"url": "https://rustsec.org/advisories/RUSTSEC-2020-0121.html"
},
{
"type": "REPORT",
"url": "https://github.com/SonicFrog/abox/issues/1"
}
],
"related": [],
"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": "AtomicBox\u003cT\u003e implements Send/Sync for any `T: Sized`"
}
Loading…
Loading…
Sightings
| Author | Source | Type | Date |
|---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or observed by the user.
- Confirmed: The vulnerability has been validated from an analyst's perspective.
- Published Proof of Concept: A public proof of concept is available for this vulnerability.
- Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
- Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
- Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
- Not confirmed: The user expressed doubt about the validity of the vulnerability.
- Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.
Loading…
Loading…