RUSTSEC-2020-0121

Source
https://rustsec.org/advisories/RUSTSEC-2020-0121
Import Source
https://github.com/rustsec/advisory-db/blob/osv/crates/RUSTSEC-2020-0121.json
JSON Data
https://api.osv.dev/v1/vulns/RUSTSEC-2020-0121
Aliases
Published
2020-11-10T12:00:00Z
Modified
2023-11-08T04:03:45.024840Z
Severity
  • 8.1 (High) CVSS_V3 - CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H CVSS Calculator
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>.

Database specific
{
    "license": "CC0-1.0"
}
References

Affected packages

crates.io / abox

Package

Affected ranges

Type
SEMVER
Events
Introduced
0.0.0-0
Fixed
0.4.1

Ecosystem specific

{
    "affected_functions": null,
    "affects": {
        "os": [],
        "functions": [],
        "arch": []
    }
}

Database specific

{
    "cvss": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H",
    "informational": null,
    "categories": [
        "memory-corruption",
        "thread-safety"
    ]
}