RUSTSEC-2020-0098

Source
https://rustsec.org/advisories/RUSTSEC-2020-0098
Import Source
https://github.com/rustsec/advisory-db/blob/osv/crates/RUSTSEC-2020-0098.json
JSON Data
https://api.osv.dev/v1/vulns/RUSTSEC-2020-0098
Aliases
Published
2020-12-18T12:00:00Z
Modified
2023-11-08T04:03:41.476758Z
Severity
  • 7.0 (High) CVSS_V3 - CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H CVSS Calculator
Summary
UsbContext trait did not require implementers to be Send and Sync.
Details

Affected versions of rusb did not require UsbContext to implement Send and Sync. However, through Device and DeviceHandle it is possible to use UsbContexts across threads.

This issue allows non-thread safe UsbContext types to be used concurrently leading to data races and memory corruption.

The issue was fixed by adding Send and Sync bounds to UsbContext.

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

Affected packages

crates.io / rusb

Package

Affected ranges

Type
SEMVER
Events
Introduced
0.0.0-0
Fixed
0.7.0

Ecosystem specific

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

Database specific

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