CVE-2026-72123 json
can: bcm: defer rx_op deallocation to workqueue to fix thrtimer UAF
published 2026-08-15 2 mo ago modified 2026-10-16 23 d ago also EUVD-2026-58881
- cvss
- 7.8
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.2%
- EPSS 0.2% chance of exploitation in 30 days, percentile 6%
- public exploits
- 0
- none known
Summary
In the Linux kernel, the following vulnerability has been resolved:
can: bcm: defer rx_op deallocation to workqueue to fix thrtimer UAF
Commit f1b4e32aca08 ("can: bcm: use call_rcu() instead of costly synchronize_rcu()") replaced synchronize_rcu() in bcm_delete_rx_op() with call_rcu() and introduced the RX_NO_AUTOTIMER flag.
However, this flag check was omitted for thrtimer in the packet rx fast-path. During BCM RX operation teardown, a concurrent RCU reader (bcm_rx_handler) can race and re-arm thrtimer via bcm_rx_update_and_send() after call_rcu() has been scheduled. Once the RCU grace period elapses, bcm_op is freed. The subsequently firing thrtimer then dereferences the deallocated op, causing a UAF.
Adding flag checks to the rx fast-path (bcm_rx_update_and_send) does not fully close the TOCTOU race and introduces latency for every CAN frame. Conversely, calling hrtimer_cancel() directly inside the RCU callback (softirq context) is fatal as hrtimer_cancel() can sleep, triggering a "scheduling while atomic" panic.
Resolve this by deferring the timer cancellation and memory free to a dedicated unbound workqueue (bcm_wq). The RCU callback now queues a work item to bcm_wq, which safely cancels both timers and deallocates memory in sleepable process context. A dedicated workqueue is used to prevent system-wide WQ saturation and is cleanly flushed/destroyed on module unload to avoid rmmod page faults.
Since the deferred work can now outlive the calling context by an unbounded amount, also take a reference on op->sk when it is assigned and drop it only once the deferred work has cancelled both timers, so a socket can no longer be freed out from under a still-armed timer whose callback (bcm_send_to_user()) dereferences op->sk.
Patch / fix
- Linux Linux 4.20, 5.5, 5.10.265, 5.15.216, 5.19, 6.1.178, 6.6.145, 6.12.97, 6.18.40, 7.1.5, 7.2
- linux Debian 12 6.1.180-1
- linux Debian 13 6.12.100-1
- linux Debian 14 7.1.5-1
debian advisories DEBIAN-CVE-2026-72123
- 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-72123
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
- kernel RHEL 9 5.14.0-687.29.1.el9_8
- rv RHEL 9 5.14.0-687.29.1.el9_8
- perf RHEL 9 5.14.0-687.29.1.el9_8
- rtla RHEL 9 5.14.0-687.29.1.el9_8
- libperf RHEL 9 5.14.0-687.29.1.el9_8
- kernel-rt RHEL 9 5.14.0-687.29.1.el9_8
- kernel-64k RHEL 9 5.14.0-687.29.1.el9_8
- kernel-core RHEL 9 5.14.0-687.29.1.el9_8
red hat advisories RHSA-2026:44694RHSA-2026:43307RHSA-2026:42919
- kernel-64kb SLES 15 SP5-LTSS, SLE High Performance Computing 15 SP5-LTSS, SLE High Performance Computing 15 SP5-ESPOS 5.14.21-150500.55.189.1
- kernel-syms SLES for SAP 15 SP5, SLES 15 SP5-LTSS, SLE High Performance Computing 15 SP5-LTSS +1 more 5.14.21-150500.55.189.1
- kernel-source SLES for SAP 15 SP5, SLES 15 SP5-LTSS, SLE Micro 5.5 +2 more 5.14.21-150500.55.189.1
- kernel-default SLES for SAP 15 SP5, SLES 15 SP5-LTSS, SLE Micro 5.5 +3 more 5.14.21-150500.55.189.1
- kernel-obs-build SLES for SAP 15 SP5, SLES 15 SP5-LTSS, SLE High Performance Computing 15 SP5-LTSS +1 more 5.14.21-150500.55.189.1
- kernel-default-base SLES for SAP 15 SP5, SLES 15 SP5-LTSS, SLE Micro 5.5 +2 more 5.14.21-150500.55.189.1.150500.6.87.4
- kernel-64kb SLE Module for Basesystem 15 SP7 6.4.0-150700.53.81.1
- kernel-syms SLE Module for Development Tools 15 SP7 6.4.0-150700.53.81.1
suse advisories SUSE-SU-2026:4595-1SUSE-SU-2026:4254-1SUSE-SU-2026:4369-1SUSE-SU-2026:4347-1SUSE-SU-2026:4284-1SUSE-SU-2026:4279-1
- kernel AlmaLinux 9 5.14.0-687.29.1.el9_8
- rv AlmaLinux 9 5.14.0-687.29.1.el9_8
- perf AlmaLinux 9 5.14.0-687.29.1.el9_8
- rtla AlmaLinux 9 5.14.0-687.29.1.el9_8
- libperf AlmaLinux 9 5.14.0-687.29.1.el9_8
- kernel-rt AlmaLinux 9 5.14.0-687.29.1.el9_8
- kernel-64k AlmaLinux 9 5.14.0-687.29.1.el9_8
- kernel-core AlmaLinux 9 5.14.0-687.29.1.el9_8
almalinux advisories ALSA-2026:43307ALSA-2026:42919
- git.kernel.org/stable/c/de5fce46637de05bef56ec08528127676eb6fc9b commit
- git.kernel.org/stable/c/036a8c320ca11bc912e8027adcfad14b326f067e commit
- git.kernel.org/stable/c/3cf4fd5316f449811d8baf1bc6978ef5a7b743a9 commit
- git.kernel.org/stable/c/4177762f70646ac48a2af382e45a795cbd295198 commit
- git.kernel.org/stable/c/6fd08e8d826c3aa4cc7021f5f9cdbb7fa7441d3f commit
- git.kernel.org/stable/c/cd830e0bc25ee2d38cbfbdbb3cd77c5f53b2b6d5 commit
- git.kernel.org/stable/c/ce2d4b121fb7545e1ed588e860c8e5fd5ad45224 commit
- git.kernel.org/stable/c/68973f9db76144825e4f35dfdc80fb8279eb2d57 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-72123 updated cvss 7.0
kernel: can: bcm: thrtimer use-after-free during RX operation teardown
-
Red Hat Enterprise Linux for NVIDIA 26 kernel Red Hat OpenShift Container Platform 4 openshift/ose-rhel-coreos-9 Red Hat OpenShift Container Platform 5 openshift/ose-rhel-coreos-9affected: no fix available
-
Red Hat Enterprise Linux AppStream (v. 9) rv 5.14.0-687.29.1.el9_8, perf 5.14.0-687.29.1.el9_8, rtla 5.14.0-687.29.1.el9_8, python3-perf 5.14.0-687.29.1.el9_8, kernel-devel-matched 5.14.0-687.29.1.el9_8, kernel-64k-devel-matched 5.14.0-687.29.1.el9_8, +7 morefixed: vendor fix RHSA-2026:43307
-
Red Hat Enterprise Linux AppStream (v. 10) rv 6.12.0-211.37.1.el10_2, perf 6.12.0-211.37.1.el10_2, rtla 6.12.0-211.37.1.el10_2, python3-perf 6.12.0-211.37.1.el10_2, kernel-devel-matched 6.12.0-211.37.1.el10_2, kernel-64k-devel-matched 6.12.0-211.37.1.el10_2, +7 morefixed: vendor fix RHSA-2026:42919
-
Red Hat Enterprise Linux AppStream EUS (v. 10.0) rv 6.12.0-55.92.1.el10_0, perf 6.12.0-55.92.1.el10_0, rtla 6.12.0-55.92.1.el10_0, python3-perf 6.12.0-55.92.1.el10_0, kernel-devel-matched 6.12.0-55.92.1.el10_0, kernel-64k-devel-matched 6.12.0-55.92.1.el10_0, +7 morefixed: vendor fix RHSA-2026:44694
-
Red Hat Enterprise Linux BaseOS (v. 9) kernel 5.14.0-687.29.1.el9_8, kernel-64k 5.14.0-687.29.1.el9_8, kernel-core 5.14.0-687.29.1.el9_8, kernel-tools 5.14.0-687.29.1.el9_8, kernel-modules 5.14.0-687.29.1.el9_8, kernel-64k-core 5.14.0-687.29.1.el9_8, +27 morefixed: vendor fix RHSA-2026:43307
-
Red Hat Enterprise Linux BaseOS (v. 10) kernel 6.12.0-211.37.1.el10_2, kernel-64k 6.12.0-211.37.1.el10_2, kernel-core 6.12.0-211.37.1.el10_2, kernel-tools 6.12.0-211.37.1.el10_2, kernel-modules 6.12.0-211.37.1.el10_2, kernel-64k-core 6.12.0-211.37.1.el10_2, +28 morefixed: vendor fix RHSA-2026:42919
-
Red Hat Enterprise Linux BaseOS EUS (v. 10.0) kernel 6.12.0-55.92.1.el10_0, kernel-64k 6.12.0-55.92.1.el10_0, kernel-core 6.12.0-55.92.1.el10_0, kernel-tools 6.12.0-55.92.1.el10_0, kernel-modules 6.12.0-55.92.1.el10_0, kernel-64k-core 6.12.0-55.92.1.el10_0, +27 morefixed: vendor fix RHSA-2026:44694
-
Red Hat Enterprise Linux CodeReady Linux Builder (v. 9) libperf 5.14.0-687.29.1.el9_8, kernel-debuginfo-common-s390x 5.14.0-687.29.1.el9_8, kernel-debuginfo-common-x86_64 5.14.0-687.29.1.el9_8, kernel-debuginfo-common-aarch64 5.14.0-687.29.1.el9_8, kernel-debuginfo-common-ppc64le 5.14.0-687.29.1.el9_8fixed: vendor fix RHSA-2026:43307
show 9 moreshow fewer
-
Red Hat Enterprise Linux CodeReady Linux Builder (v. 10) libperf 6.12.0-211.37.1.el10_2, kernel-debuginfo-common-s390x 6.12.0-211.37.1.el10_2, kernel-debuginfo-common-x86_64 6.12.0-211.37.1.el10_2, kernel-debuginfo-common-aarch64 6.12.0-211.37.1.el10_2, kernel-debuginfo-common-ppc64le 6.12.0-211.37.1.el10_2fixed: vendor fix RHSA-2026:42919
-
Red Hat Enterprise Linux CodeReady Linux Builder EUS (v. 10.0) libperf 6.12.0-55.92.1.el10_0, kernel-debuginfo-common-s390x 6.12.0-55.92.1.el10_0, kernel-debuginfo-common-x86_64 6.12.0-55.92.1.el10_0, kernel-debuginfo-common-aarch64 6.12.0-55.92.1.el10_0, kernel-debuginfo-common-ppc64le 6.12.0-55.92.1.el10_0fixed: vendor fix RHSA-2026:44694
-
Red Hat Enterprise Linux Real Time (v. 9) kernel-rt 5.14.0-687.29.1.el9_8, kernel-rt-64k 5.14.0-687.29.1.el9_8, kernel-rt-core 5.14.0-687.29.1.el9_8, kernel-rt-modules 5.14.0-687.29.1.el9_8, kernel-rt-64k-core 5.14.0-687.29.1.el9_8, kernel-rt-debug-core 5.14.0-687.29.1.el9_8, +14 morefixed: vendor fix RHSA-2026:43307
-
Red Hat Enterprise Linux Real Time (v. 10) kernel-rt 6.12.0-211.37.1.el10_2, kernel-rt-64k 6.12.0-211.37.1.el10_2, kernel-rt-core 6.12.0-211.37.1.el10_2, kernel-rt-modules 6.12.0-211.37.1.el10_2, kernel-rt-64k-core 6.12.0-211.37.1.el10_2, kernel-rt-debug-core 6.12.0-211.37.1.el10_2, +14 morefixed: vendor fix RHSA-2026:42919
-
Red Hat Enterprise Linux Real Time EUS (v. 10.0) kernel-rt 6.12.0-55.92.1.el10_0, kernel-rt-64k 6.12.0-55.92.1.el10_0, kernel-rt-core 6.12.0-55.92.1.el10_0, kernel-rt-modules 6.12.0-55.92.1.el10_0, kernel-rt-64k-core 6.12.0-55.92.1.el10_0, kernel-rt-debug-core 6.12.0-55.92.1.el10_0, +14 morefixed: vendor fix RHSA-2026:44694
-
Red Hat Enterprise Linux Real Time for NFV (v. 9) kernel-rt 5.14.0-687.29.1.el9_8, kernel-rt-core 5.14.0-687.29.1.el9_8, kernel-rt-modules 5.14.0-687.29.1.el9_8, kernel-rt-debug-core 5.14.0-687.29.1.el9_8, kernel-rt-modules-core 5.14.0-687.29.1.el9_8, kernel-rt-debug-modules 5.14.0-687.29.1.el9_8, +4 morefixed: vendor fix RHSA-2026:43307
-
Red Hat Enterprise Linux Real Time for NFV (v. 10) kernel-rt 6.12.0-211.37.1.el10_2, kernel-rt-core 6.12.0-211.37.1.el10_2, kernel-rt-modules 6.12.0-211.37.1.el10_2, kernel-rt-debug-core 6.12.0-211.37.1.el10_2, kernel-rt-modules-core 6.12.0-211.37.1.el10_2, kernel-rt-debug-modules 6.12.0-211.37.1.el10_2, +4 morefixed: vendor fix RHSA-2026:42919
-
Red Hat Enterprise Linux Real Time for NFV EUS (v. 10.0) kernel-rt 6.12.0-55.92.1.el10_0, kernel-rt-kvm 6.12.0-55.92.1.el10_0, kernel-rt-core 6.12.0-55.92.1.el10_0, kernel-rt-modules 6.12.0-55.92.1.el10_0, kernel-rt-debug-kvm 6.12.0-55.92.1.el10_0, kernel-rt-debug-core 6.12.0-55.92.1.el10_0, +6 morefixed: vendor fix RHSA-2026:44694
-
Red Hat Enterprise Linux 6 perf, kernel, python-perf, kernel-kdump, kernel-firmware, kernel-bootwrapper, +1 more Red Hat Enterprise Linux 7 perf, kernel, bpftool, kernel-rt, python-perf, kernel-kdump, +8 more Red Hat Enterprise Linux 8 perf, kernel, bpftool, kernel-rt, kernel-core, kernel-tools, +29 more Red Hat OpenShift Container Platform 4 openshift/ose-rhel-coreos-8not 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.17% chance of exploitation in the next 30 days, higher than 6% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 7.8 | CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H |
Affected products
- Linux Linux
Classification
- Technology feeds
References
- git.kernel.org /stable/c/de5fce46637de05bef56ec08528127676eb6fc9b
- git.kernel.org /stable/c/036a8c320ca11bc912e8027adcfad14b326f067e
- git.kernel.org /stable/c/3cf4fd5316f449811d8baf1bc6978ef5a7b743a9
- git.kernel.org /stable/c/4177762f70646ac48a2af382e45a795cbd295198
- git.kernel.org /stable/c/6fd08e8d826c3aa4cc7021f5f9cdbb7fa7441d3f
- git.kernel.org /stable/c/cd830e0bc25ee2d38cbfbdbb3cd77c5f53b2b6d5
- git.kernel.org /stable/c/ce2d4b121fb7545e1ed588e860c8e5fd5ad45224
- git.kernel.org /stable/c/68973f9db76144825e4f35dfdc80fb8279eb2d57
Sources
- CVE List CVE-2026-72123
- NVD CVE-2026-72123
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.