CVE-2026-64585
In the Linux kernel, the following vulnerability has been resolved: can: esd_usb: kill anchored URBs before freeing netdevs esd_usb_disconnect() frees each CAN netdev with free_candev() inside its per-netdev loop and only calls unlink_all_urbs(dev) afterwards. The per-netdev private data (struct esd_usb_net_priv) is embedded in the net_device allocation returned by alloc_candev(), so once free_candev() has run, dev->nets[i] points to freed memory. unlink_all_urbs() then dereferences the freed dev->nets[i] to kill the per-netdev TX anchor (usb_kill_anchored_urbs(&priv->tx_submitted)), clear active_tx_jobs, and reset priv->tx_contexts[]. Reorder the teardown so the anchored URBs are killed before the netdevs are freed, matching other CAN/USB drivers in the same directory such as ems_usb, usb_8dev and mcba_usb, which unregister, then unlink, then free: unregister the netdevs first (which stops their TX queues), call unlink_all_urbs(dev) once, then free the netdevs. This issue was found by an in-house static analysis tool.
Affected versions
Linux kernel versions
2.6.36
and later are affected. Fixed in
6.1.178,
6.6.145,
6.12.97,
6.18.40,
7.1.5,
7.2-rc4
and their respective stable series.
References
6 totalFrequently asked questions
-
What is CVE-2026-64585?
CVE-2026-64585 is a unscored severity Linux kernel vulnerability . It affects Linux kernel versions from 2.6.36 onward and has been patched in 6.1.178, 6.6.145, 6.12.97 and others. CVE-2026-64585 has not been confirmed as actively exploited and is not listed in the CISA KEV catalog.
-
Is there a patch available for CVE-2026-64585?
Yes. CVE-2026-64585 has been patched. Fixed versions include 6.1.178, 6.6.145, 6.12.97 and others. If you are running Linux kernel 2.6.36 or later up to the fix versions, apply the relevant patch for your kernel branch.
-
Is CVE-2026-64585 actively exploited?
No. CVE-2026-64585 has not been confirmed as actively exploited. It is not listed in the CISA Known Exploited Vulnerabilities (KEV) catalog.