CVE-2026-72116

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

State
Published
Severity
7.1 High
Published
Aug 15, 2026
Updated
Oct 16, 2026
Reserved
Aug 9, 2026

Read the record on cve.org

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.

Scores

CVSSScoreVectorSource
3.17.1 HighCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:HLinux

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • ffd980f976e7fd666c2e61bf8ab35107efd11828 to before d30a36066ed3abefb72ae18901f71841ba18b350Affected
  • ffd980f976e7fd666c2e61bf8ab35107efd11828 to before ca829677ffa2de5d79e06366e19ac1e4f5cc78ddAffected
  • ffd980f976e7fd666c2e61bf8ab35107efd11828 to before 9517d8fb0b191398d35b9b7f8c719c1cc7761cb1Affected
  • ffd980f976e7fd666c2e61bf8ab35107efd11828 to before 60d8a7942f4ed2d975207aaeba1adb576707e53dAffected
  • ffd980f976e7fd666c2e61bf8ab35107efd11828 to before f749e4564952d60e96930c09f2be99955d07c22eAffected
  • ffd980f976e7fd666c2e61bf8ab35107efd11828 to before 6be3e1fedf03eab36a2c09d755d1171287b2014bAffected
  • ffd980f976e7fd666c2e61bf8ab35107efd11828 to before b31d0933509c5a35c0be5736a2ce8df0d1bf112cAffected
  • ffd980f976e7fd666c2e61bf8ab35107efd11828 to before 3b762c0d950383ab7a002686c9136b9aa55d2d70Affected
LinuxLinux
  • 2.6.25Affected
  • before 2.6.25Not affected
  • 5.10.265 through 5.10.*Not affected
  • 5.15.216 through 5.15.*Not affected
  • 6.1.183 through 6.1.*Not affected
  • 6.6.148 through 6.6.*Not affected
  • 6.12.101 through 6.12.*Not affected
  • 6.18.42 through 6.18.*Not affected
  • 7.1.5 through 7.1.*Not affected
  • 7.2 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.