CVE-2026-72121 json
can: bcm: add locking when updating filter and timer values
published 2026-08-15 2 mo ago modified 2026-10-16 23 d ago also EUVD-2026-58879
- cvss
- 8.8
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.4%
- EPSS 0.4% chance of exploitation in 30 days, percentile 29%
- public exploits
- 0
- none known
Summary
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.
Patch / fix
- Linux Linux 5.5, 5.10.265, 5.15.216, 6.1.183, 6.6.148, 6.12.101, 6.15, 6.18.42, 7.1.5, 7.2
- linux Debian 12 6.1.187-1
- linux Debian 13 6.12.101-1
- linux Debian 14 7.1.5-1
- linux-6.12 Debian 12 6.12.101-1~deb12u1
debian advisories DEBIAN-CVE-2026-72121
- linux Ubuntu 22.04 LTS 5.15.0-198.208
- linux Ubuntu 24.04 LTS 6.8.0-147.147
- linux Ubuntu 26.04 LTS 7.0.0-38.38
- linux-aws Ubuntu 22.04 LTS 5.15.0-1117.124
- linux-aws Ubuntu 24.04 LTS 6.8.0-1067.70
- linux-aws Ubuntu 26.04 LTS 7.0.0-1014.14
- linux-gcp Ubuntu 22.04 LTS 5.15.0-1118.128
- linux-gcp Ubuntu 24.04 LTS 6.8.0-1071.79
ubuntu advisories UBUNTU-CVE-2026-72121
Ubuntu security data © Canonical Ltd., from https://github.com/canonical/ubuntu-security-notices via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0
- git.kernel.org/stable/c/96994180bd7b248b0cc698afe926e23fc1bda59b commit
- git.kernel.org/stable/c/caa8704a7f3cb7806331596195385437126ecb3a commit
- git.kernel.org/stable/c/a7c369e7da8203e2b5be12bbcac7b9ab2ed5b658 commit
- git.kernel.org/stable/c/a7eb6db1cd3f7b556a301dc1265945ad112089f7 commit
- git.kernel.org/stable/c/834cbca3b12e46887f7a9b35f1981a888360ea4c commit
- git.kernel.org/stable/c/19b1994069dd29478ba767de1f98f14a088198dc commit
- git.kernel.org/stable/c/fc9f5ee1b073bd233d9c604e338af4ebb42cbc33 commit
- git.kernel.org/stable/c/749179c2e25b95d22499ed29096b3e02d6dfd2b4 commit
Vendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2026-72121 updated cvss 5.5
kernel: can: bcm: add locking when updating filter and timer values
-
Red Hat Enterprise Linux 6 perf, kernel, python-perf, kernel-kdump, kernel-firmware, kernel-bootwrapper, +1 moreaffected: workaround, no fix planned “Out of support scope”
-
Red Hat Enterprise Linux 8 perf, kernel, bpftool, kernel-rt, kernel-core, kernel-tools, +29 moreaffected: workaround, no fix available “Fix deferred”
-
Red Hat Enterprise Linux 7 perf, kernel, bpftool, kernel-rt, python-perf, kernel-kdump, +8 more Red Hat Enterprise Linux 9 rv, perf, rtla, kernel, bpftool, libperf, +83 more Red Hat Enterprise Linux 10 kernelnot affected: vulnerable code not present
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
CISA SSVC
- Exploitation
- none
- Automatable
- no
- Technical impact
- total
- Assessed
- 23 d ago
Exploit prediction
0.35% chance of exploitation in the next 30 days, higher than 29% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 8.8 | CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
Affected products
- Linux Linux
Classification
- Technology feeds
References
- git.kernel.org /stable/c/96994180bd7b248b0cc698afe926e23fc1bda59b
- git.kernel.org /stable/c/caa8704a7f3cb7806331596195385437126ecb3a
- git.kernel.org /stable/c/a7c369e7da8203e2b5be12bbcac7b9ab2ed5b658
- git.kernel.org /stable/c/a7eb6db1cd3f7b556a301dc1265945ad112089f7
- git.kernel.org /stable/c/834cbca3b12e46887f7a9b35f1981a888360ea4c
- git.kernel.org /stable/c/19b1994069dd29478ba767de1f98f14a088198dc
- git.kernel.org /stable/c/fc9f5ee1b073bd233d9c604e338af4ebb42cbc33
- git.kernel.org /stable/c/749179c2e25b95d22499ed29096b3e02d6dfd2b4
Sources
- CVE List CVE-2026-72121
- NVD CVE-2026-72121
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.