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