CVE-2026-64585

can: esd_usb: kill anchored URBs before freeing netdevs

HIGH
7.8
CVSS Score
Published: August 6, 2026 at 07:06 AM UTC
Updated: August 23, 2026 at 01:16 PM UTC
1 product affected across 1 vendorLinux Kernel

Using Linux by Linux?

Get instant alerts when new vulnerabilities affect Linux - before attackers find them.

Real-time alertsTrack your software stackFree plan available
Severity
HIGH7.8
Exploit prediction
EPSS 0.1%

Description

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

Our own answer: ranges merged, affected separated from platform-only, with confidence and review flags.

2.6.36 ≤ v < 5.15.2172.6.36 ≤ v < 6.1.1782.6.36 ≤ v < 6.12.972.6.36 ≤ v < 6.18.402.6.36 ≤ v < 6.6.1452.6.36 ≤ v < 7.1.52.6.36 ≤ v < 7.22.6.3696d8e90382dc336b5de401164597edfdc2e8d9f1
Vendor states this is fixed in 5832c55b3c824ba2fe9c36ac3c411baddcce053e (fixed)
Vendor states this is fixed in 765ba1c91823a296447528791b89a6504947fd5c (fixed)
Vendor states this is fixed in a02e1d8f191324583599544d54e59e6a2b74bb0e (fixed)
Vendor states this is fixed in a3314f10369df70925140f59bbe069718f65a0b9 (fixed)
Vendor states this is fixed in aa1d005927db38af783c1a4a8a00a39e0229ab2d (fixed)
Vendor states this is fixed in c43122fef328a70045fe7621c06de6b2b8e19264 (fixed)
Vendor states this is fixed in d12f6add48f2da15c8c8281961d3faad804c76cf (fixed)
Vendor states this is fixed in 2.6.36 (unaffected)
Vendor states this is fixed in 5.15.217 (unaffected)
Vendor states this is fixed in 6.1.178 (unaffected)
Vendor states this is fixed in 6.12.97 (unaffected)
Vendor states this is fixed in 6.18.40 (unaffected)
Vendor states this is fixed in 6.6.145 (unaffected)
Vendor states this is fixed in 7.1.5 (unaffected)
Vendor states this is fixed in 7.2 (unaffected)

Remediation

No guide yet

No remediation guidance has been written for this CVE yet, and no fixed version or vendor advisory is recorded against it.

CVSS

7.8HIGHLinux
Vector?

Quick Info

StatusRECEIVED

Get alerted

Stop reading CVE feeds looking for your own stack

Track the products you run and VulnTracker tells you when a new CVE affects them — with what is known about fixing it, and nothing about the rest.

Free plan, no card