CVE-2026-72116

can: bcm: fix stale rx/tx ops after device removal

HIGH
7.1
CVSS Score
Published: August 15, 2026 at 05:52 AM UTC
Updated: October 16, 2026 at 07:17 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.1
Exploit prediction
EPSS 0.2%
SSVC
No known exploit

Description

In the Linux kernel, the following vulnerability has been resolved: can: bcm: fix stale rx/tx ops after device removal RX: an RX_SETUP update(!) for an existing op skipped can_rx_register() unconditionally, even when a concurrent NETDEV_UNREGISTER had already torn down its registration (op->rx_reg_dev == NULL). This silently did not re-enable frame delivery for that updated filter. bcm_rx_setup() now re-registers in that case, while leaving rx_ops with ifindex = 0 (all CAN devices) which never carry a tracked rx_reg_dev registered as-is. TX: bcm_notify() only handled bo->rx_ops on NETDEV_UNREGISTER, leaving tx_ops with an active cyclic transmission re-arming its hrtimer indefinitely to execute bcm_tx_timeout_handler(). Cancelling the hrtimer prevents the runaway timer and any injection into a later reused ifindex, since nothing else calls bcm_can_tx() for the op until an explicit TX_SETUP update re-arms it. Unlike bcm_rx_unreg(), which clears the tracked rx_reg_dev for rx_ops, the ifindex is intentionally left unchanged for tx_ops. bcm_tx_setup() always rejects ifindex 0, so clearing it would strand the op: neither a later TX_SETUP (bcm_find_op()) nor TX_DELETE (bcm_delete_tx_op()) could ever find it again, since both require an exact ifindex match.

Affected

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

2.6.25ffd980f976e7fd666c2e61bf8ab35107efd11828
Vendor states this is fixed in 3b762c0d950383ab7a002686c9136b9aa55d2d70 (fixed)
Vendor states this is fixed in 60d8a7942f4ed2d975207aaeba1adb576707e53d (fixed)
Vendor states this is fixed in 6be3e1fedf03eab36a2c09d755d1171287b2014b (fixed)
Vendor states this is fixed in 9517d8fb0b191398d35b9b7f8c719c1cc7761cb1 (fixed)
Vendor states this is fixed in b31d0933509c5a35c0be5736a2ce8df0d1bf112c (fixed)
Vendor states this is fixed in ca829677ffa2de5d79e06366e19ac1e4f5cc78dd (fixed)
Vendor states this is fixed in d30a36066ed3abefb72ae18901f71841ba18b350 (fixed)
Vendor states this is fixed in f749e4564952d60e96930c09f2be99955d07c22e (fixed)
Vendor states this is fixed in 2.6.25 (unaffected)
Vendor states this is fixed in 5.10.265 (unaffected)
Vendor states this is fixed in 5.15.216 (unaffected)
Vendor states this is fixed in 6.1.183 (unaffected)
Vendor states this is fixed in 6.12.101 (unaffected)
Vendor states this is fixed in 6.18.42 (unaffected)
Vendor states this is fixed in 6.6.148 (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.

SSVC — Action Prioritization

SSVCNo known exploitNot automatablePartial impact

SSVC signals action urgency (what to patch first), separate from CVSS which measures severity.

CVSS

7.1HIGHLinux
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