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.
{
"nvd_published_at": null,
"severity": "HIGH",
"cwe_ids": [
"CWE-662",
"CWE-787"
],
"github_reviewed_at": "2021-08-19T18:51:05Z",
"github_reviewed": true
}