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