8.8

CVE-2026-72121

can: bcm: add locking when updating filter and timer values

In the Linux kernel, the following vulnerability has been resolved:

can: bcm: add locking when updating filter and timer values

KCSAN detected a simultaneous access to timer values that can be
overwritten in bcm_rx_setup() when updating timer and filter content
while bcm_rx_handler(), bcm_rx_timeout_handler() or bcm_rx_thr_handler()
run concurrently on incoming CAN traffic.

Protect the timer (ival1/ival2/kt_ival1/kt_ival2/kt_lastmsg) and filter
(nframes/flags/frames/last_frames) updates in bcm_rx_setup() with a new
per-op bcm_rx_update_lock, taken with the matching scope in the RX
handlers. memcpy_from_msg() is staged into a temporary buffer before the
lock is taken, since it can sleep and must not run under a spinlock.

hrtimer_cancel() is always called without bcm_rx_update_lock held, since
bcm_rx_timeout_handler()/bcm_rx_thr_handler() take the same lock and a
running callback would otherwise deadlock against the canceller.

Also close a related race: bcm_rx_setup() cleared the RTR flag in the
stored reply frame's can_id as a separate, unprotected step after the
frame content was already installed, so a concurrent bcm_rx_handler()
could transmit a stale reply with CAN_RTR_FLAG still set. Fold that
normalization into the initial frame preparation instead (on the staged
buffer for updates, directly on op->frames pre-registration for new
ops), so the installed frame is always atomically self-consistent.

bcm_rx_handler()'s RX_RTR_FRAME check now takes a lock-protected
snapshot of op->flags before deciding whether to call bcm_can_tx(),
but does not hold the lock across that call.

Also take a lock-protected snapshot of the currframe in bcm_can_tx()
to avoid partly overwrites by content updates in bcm_tx_setup().
Finally check if a TX_RESET_MULTI_IDX/SETTIMER might have reset
op->currframe between the two locked sections in bcm_can_tx().

Omit calling hrtimer_forward() with zero interval in bcm_rx_thr_handler().
kt_ival2 may have been concurrently cleared by bcm_rx_setup() before it
cancels this timer, so check kt_ival2 inside the bcm_rx_update_lock.
Daten sind bereitgestellt durch das CVE Programm von einer CVE Numbering Authority (CNA) (Unstrukturiert).
HerstellerLinux
≫
Produkt Linux
Default Statusunaffected
Version 7595de7bc56e0e52b74e56c90f7e247bf626d628
Version < 96994180bd7b248b0cc698afe926e23fc1bda59b
Status affected
Version fbd8fdc2b218e979cfe422b139b8f74c12419d1f
Version < caa8704a7f3cb7806331596195385437126ecb3a
Status affected
Version 2a437b86ac5a9893c902f30ef66815bf13587bf6
Version < a7c369e7da8203e2b5be12bbcac7b9ab2ed5b658
Status affected
Version 76c84c3728178b2d38d5604e399dfe8b0752645e
Version < a7eb6db1cd3f7b556a301dc1265945ad112089f7
Status affected
Version cc55dd28c20a6611e30596019b3b2f636819a4c0
Version < 834cbca3b12e46887f7a9b35f1981a888360ea4c
Status affected
Version c2aba69d0c36a496ab4f2e81e9c2b271f2693fd7
Version < 19b1994069dd29478ba767de1f98f14a088198dc
Status affected
Version c2aba69d0c36a496ab4f2e81e9c2b271f2693fd7
Version < fc9f5ee1b073bd233d9c604e338af4ebb42cbc33
Status affected
Version c2aba69d0c36a496ab4f2e81e9c2b271f2693fd7
Version < 749179c2e25b95d22499ed29096b3e02d6dfd2b4
Status affected
Version 8f1c022541bf5a923c8d6fa483112c15250f30a4
Status affected
Version c4e8a172501e677ebd8ea9d9161d97dc4df56fbd
Status affected
Version 5.10.238
Version < 5.10.265
Status affected
Version 5.15.185
Version < 5.15.216
Status affected
Version 6.1.141
Version < 6.1.183
Status affected
Version 6.6.93
Version < 6.6.148
Status affected
Version 6.12.31
Version < 6.12.101
Status affected
Version 5.4.294
Version < 5.5
Status affected
Version 6.14.9
Version < 6.15
Status affected
HerstellerLinux
≫
Produkt Linux
Default Statusaffected
Version 6.15
Status affected
Version 0
Version < 6.15
Status unaffected
Version <= 5.10.*
Version 5.10.265
Status unaffected
Version <= 5.15.*
Version 5.15.216
Status unaffected
Version <= 6.1.*
Version 6.1.183
Status unaffected
Version <= 6.6.*
Version 6.6.148
Status unaffected
Version <= 6.12.*
Version 6.12.101
Status unaffected
Version <= 6.18.*
Version 6.18.42
Status unaffected
Version <= 7.1.*
Version 7.1.5
Status unaffected
Version <= *
Version 7.2
Status unaffected
VulnDex Vulnerability Enrichment
Diese Information steht angemeldeten Benutzern zur Verfügung. Login Login
Zu dieser CVE wurde keine Warnung gefunden.
EPSS Metriken
Typ Quelle Score Percentile
EPSS FIRST.org 0.35% 0.277
CVSS Metriken
Quelle Base Score Exploit Score Impact Score Vector String
416baaa9-dc9f-4396-8d5f-8c081fb06d67 8.8 2.8 5.9
CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Es wurden noch keine Informationen zu CWE veröffentlicht.
https://git.kernel.org/stable/c/a7eb6db1cd3f7b556a301dc1265945ad112089f7
https://git.kernel.org/stable/c/834cbca3b12e46887f7a9b35f1981a888360ea4c
https://git.kernel.org/stable/c/19b1994069dd29478ba767de1f98f14a088198dc
https://git.kernel.org/stable/c/fc9f5ee1b073bd233d9c604e338af4ebb42cbc33
https://git.kernel.org/stable/c/749179c2e25b95d22499ed29096b3e02d6dfd2b4
https://git.kernel.org/stable/c/96994180bd7b248b0cc698afe926e23fc1bda59b
https://git.kernel.org/stable/c/a7c369e7da8203e2b5be12bbcac7b9ab2ed5b658
https://git.kernel.org/stable/c/caa8704a7f3cb7806331596195385437126ecb3a