Description
In the Linux kernel, the following vulnerability has been resolved:
RDMA/cma: Fix workqueue crash in cma_netevent_work_handler
struct rdma_cm_id has member "struct work_struct net_work"
that is reused for enqueuing cma_netevent_work_handler()s
onto cma_wq.
Below crash[1] can occur if more than one call to
cma_netevent_callback() occurs in quick succession,
which further enqueues cma_netevent_work_handler()s for the
same rdma_cm_id, overwriting any previously queued work-item(s)
that was just scheduled to run i.e. there is no guarantee
the queued work item may run between two successive calls
to cma_netevent_callback() and the 2nd INIT_WORK would overwrite
the 1st work item (for the same rdma_cm_id), despite grabbing
id_table_lock during enqueue.
Also drgn analysis [2] indicates the work item was likely overwritten.
Fix this by moving the INIT_WORK() to __rdma_create_id(),
so that it doesn't race with any existing queue_work() or
its worker thread.
[1] Trimmed crash stack:
=============================================
BUG: kernel NULL pointer dereference, address: 0000000000000008
kworker/u256:6 ... 6.12.0-0...
Workqueue: cma_netevent_work_handler [rdma_cm] (rdma_cm)
RIP: 0010:process_one_work+0xba/0x31a
Call Trace:
worker_thread+0x266/0x3a0
kthread+0xcf/0x100
ret_from_fork+0x31/0x50
ret_from_fork_asm+0x1a/0x30
=============================================
[2] drgn crash analysis:
>>> trace = prog.crashed_thread().stack_trace()
>>> trace
(0) crash_setup_regs (./arch/x86/include/asm/kexec.h:111:15)
(1) __crash_kexec (kernel/crash_core.c:122:4)
(2) panic (kernel/panic.c:399:3)
(3) oops_end (arch/x86/kernel/dumpstack.c:382:3)
...
(8) process_one_work (kernel/workqueue.c:3168:2)
(9) process_scheduled_works (kernel/workqueue.c:3310:3)
(10) worker_thread (kernel/workqueue.c:3391:4)
(11) kthread (kernel/kthread.c:389:9)
Line workqueue.c:3168 for this kernel version is in process_one_work():
3168 strscpy(worker->desc, pwq->wq->name, WORKER_DESC_LEN);
>>> trace[8]["work"]
*(struct work_struct *)0xffff92577d0a21d8 = {
.data = (atomic_long_t){
.counter = (s64)536870912, <=== Note
},
.entry = (struct list_head){
.next = (struct list_head *)0xffff924d075924c0,
.prev = (struct list_head *)0xffff924d075924c0,
},
.func = (work_func_t)cma_netevent_work_handler+0x0 = 0xffffffffc2cec280,
}
Suspicion is that pwq is NULL:
>>> trace[8]["pwq"]
(struct pool_workqueue *)<absent>
In process_one_work(), pwq is assigned from:
struct pool_workqueue *pwq = get_work_pwq(work);
and get_work_pwq() is:
static struct pool_workqueue *get_work_pwq(struct work_struct *work)
{
unsigned long data = atomic_long_read(&work->data);
if (data & WORK_STRUCT_PWQ)
return work_struct_pwq(data);
else
return NULL;
}
WORK_STRUCT_PWQ is 0x4:
>>> print(repr(prog['WORK_STRUCT_PWQ']))
Object(prog, 'enum work_flags', value=4)
But work->data is 536870912 which is 0x20000000.
So, get_work_pwq() returns NULL and we crash in process_one_work():
3168 strscpy(worker->desc, pwq->wq->name, WORKER_DESC_LEN);
=============================================
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| Linux | Linux | 6.0 | 6.1.135 |
Fixed in Linux distributions
Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.
Debian
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Debian 14 | linux | 6.12.25-1 | — |
| Debian 13 | linux | 6.12.25-1 | — |
| Debian 12 | linux | 6.1.135-1 | — |
| Debian 11 | linux-6.1 | 6.1.137-1~deb11u1 | DLA-4193-1 |
Ubuntu
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu Nvidia-BlueField 24.04 LTS | linux-bluefield | 6.8.0-1016.20 | — |
| Ubuntu 25.10 | linux-azure-fde | No fix yet | — |
| Ubuntu 25.04 | linux | 6.14.0-22.22 | USN-7594-1 |
| Ubuntu 25.04 | linux-aws +3 | 6.14.0-1007.7 | USN-7594-3, USN-7594-2, USN-7594-1 |
| Ubuntu 25.04 | linux-gcp | 6.14.0-1008.8 | USN-7594-1 |
| Ubuntu 25.04 | linux-realtime | 6.14.0-1004.4 | USN-7594-1 |
| Ubuntu 24.04 LTS | linux | 6.8.0-100.100 | USN-8028-1 |
| Ubuntu 24.04 LTS | linux-aws +1 | 6.8.0-1046.49 | USN-8028-5 |
| Ubuntu 24.04 LTS | linux-azure | 6.8.0-1046.52 | USN-8074-1 |
| Ubuntu 24.04 LTS | linux-azure-fde | 6.8.0-1046.53 | — |
| Ubuntu 24.04 LTS | linux-azure-nvidia | 6.8.0-1039.42 | — |
| Ubuntu 24.04 LTS | linux-gcp | 6.8.0-1047.50 | USN-8031-3 |
| Ubuntu 24.04 LTS | linux-gke | 6.8.0-1043.48 | USN-8031-3 |
| Ubuntu 24.04 LTS | linux-gkeop | 6.8.0-1030.33 | USN-8028-5 |
| Ubuntu 24.04 LTS | linux-ibm | 6.8.0-1044.44 | USN-8028-8 |
| Ubuntu 24.04 LTS | linux-intel +10 | No fix yet | — |
| Ubuntu 24.04 LTS | linux-lowlatency | 6.8.0-100.100.1 | USN-8052-1 |
| Ubuntu 24.04 LTS | linux-nvidia-lowlatency | 6.8.0-1046.49.1 | USN-8028-7 |
| Ubuntu 24.04 LTS | linux-nvidia-tegra | 6.8.0-1020.20 | — |
| Ubuntu 24.04 LTS | linux-oracle | 6.8.0-1043.44 | USN-8028-5 |
| Ubuntu 24.04 LTS | linux-raspi | 6.8.0-1047.51 | USN-8028-1 |
| Ubuntu 24.04 LTS | linux-xilinx | 6.8.0-1023.24 | USN-8052-2 |
| Ubuntu 22.04 LTS | linux-aws-6.8 +1 | 6.8.0-1046.49~22.04.1 | USN-8028-5 |
| Ubuntu 22.04 LTS | linux-azure-6.8 | 6.8.0-1051.57~22.04.1 | USN-8126-1 |
| Ubuntu 22.04 LTS | linux-azure-fde-6.8 | 6.8.0-1046.53~22.04.1 | — |
| Ubuntu 22.04 LTS | linux-gcp-6.8 | 6.8.0-1047.50~22.04.2 | USN-8031-1 |
| Ubuntu 22.04 LTS | linux-hwe-6.8 +1 | 6.8.0-100.100~22.04.1 | USN-8028-6 |
| Ubuntu 22.04 LTS | linux-ibm-6.8 | 6.8.0-1044.44~22.04.1 | USN-8028-8 |
| Ubuntu 22.04 LTS | linux-lowlatency-hwe-6.8 | 6.8.0-100.100.1~22.04.1 | USN-8028-6 |
| Ubuntu 22.04 LTS | linux-oracle-6.8 | 6.8.0-1043.44~22.04.1 | USN-8028-5 |
| Ubuntu 22.04 LTS | linux-riscv +32 | No fix yet | — |
Show 6 more (older releases, extended support, other products)Fewer releases
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu 20.04 LTS | linux-gke +28 | No fix yet | — |
| Ubuntu 18.04 LTS | linux-gcp +14 | No fix yet | — |
| Ubuntu 16.04 LTS | linux-hwe-edge | No fix yet | — |
| Ubuntu Pro Realtime 24.04 LTS | linux-raspi-realtime | 6.8.0-2037.38 | USN-8028-3 |
| Ubuntu Pro Realtime 24.04 LTS | linux-realtime | 6.8.1-1041.42 | USN-8028-3 |
| Ubuntu Pro Realtime 22.04 LTS | linux-realtime-6.8 | 6.8.1-1041.42~22.04.1 | USN-8028-2 |
| Ubuntu Pro FIPS-updates 24.04 LTS | linux-aws-fips | 6.8.0-1046.49+fips1 | USN-8028-4 |
| Ubuntu Pro FIPS-updates 24.04 LTS | linux-azure-fips | 6.8.0-1046.52+fips1 | USN-8074-2 |
| Ubuntu Pro FIPS-updates 24.04 LTS | linux-fips | 6.8.0-100.100+fips1 | USN-8028-4 |
| Ubuntu Pro FIPS-updates 24.04 LTS | linux-gcp-fips | 6.8.0-1047.50+fips1 | USN-8031-2 |
SUSE
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| SLES 15 SP7 | kernel-64kb +6 | 6.4.0-150700.53.6.1 | SUSE-SU-2025:02307-1 |
| SLES 15 SP7 | kernel-azure +2 | 6.4.0-150700.20.6.1 | SUSE-SU-2025:02254-1 |
| SLES 15 SP7 | kernel-default-base | 6.4.0-150700.53.6.1.150700.17.6.1 | SUSE-SU-2025:02307-1 |
| SLES 15 SP6 | kernel-64kb +6 | 6.4.0-150600.23.53.1 | SUSE-SU-2025:02000-1 |
| SLES 15 SP6 | kernel-azure +2 | 6.4.0-150600.8.40.1 | SUSE-SU-2025:01965-1 |
| SLES 15 SP6 | kernel-coco +3 | 6.4.0-15061.28.coco15sp6.1 | SUSE-SU-2025:02923-1 |
| SLES 15 SP6 | kernel-default-base | 6.4.0-150600.23.53.1.150600.12.24.1 | SUSE-SU-2025:02000-1 |
Show 6 more (older releases, extended support, other products)Fewer releases
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| SLE Micro 6.1 | kernel-default-base | 6.4.0-30.1.21.8 | SUSE-SU-2025:20419-1 |
| SLE Micro 6.1 | kernel-rt +1 | 6.4.0-33.1 | SUSE-SU-2025:20421-1 |
| SLE Micro 6.1 | kernel-source +2 | 6.4.0-30.1 | SUSE-SU-2025:20419-1 |
| SLE Micro 6.0 | kernel-default-base | 6.4.0-30.1.21.8 | SUSE-SU-2025:20408-1 |
| SLE Micro 6.0 | kernel-rt +1 | 6.4.0-33.1 | SUSE-SU-2025:20413-1 |
| SLE Micro 6.0 | kernel-source +2 | 6.4.0-30.1 | SUSE-SU-2025:20408-1 |
| SLE Live Patching 15 SP7 | kernel-default | 6.4.0-150700.53.6.1 | SUSE-SU-2025:02307-1 |
| SLE Live Patching 15 SP7 | kernel-livepatch-SLE15-SP7-RT_Update_2 | 1-150700.1.5.1 | SUSE-SU-2025:02333-1 |
| SLE Live Patching 15 SP7 | kernel-livepatch-SLE15-SP7_Update_2 | 1-150700.15.3.1 | SUSE-SU-2025:02307-1 |
| SLE Live Patching 15 SP6 | kernel-default | 6.4.0-150600.23.53.1 | SUSE-SU-2025:02000-1 |
| SLE Live Patching 15 SP6 | kernel-livepatch-SLE15-SP6-RT_Update_11 | 1-150600.1.3.2 | SUSE-SU-2025:01964-1 |
| SLE Live Patching 15 SP6 | kernel-livepatch-SLE15-SP6_Update_12 | 1-150600.13.3.1 | SUSE-SU-2025:02000-1 |
| SUSE Real Time Module 15 SP7 | kernel-rt +2 | 6.4.0-150700.7.8.1 | SUSE-SU-2025:02333-1 |
| SUSE Real Time Module 15 SP6 | kernel-rt +3 | 6.4.0-150600.10.39.1 | SUSE-SU-2025:01964-1 |
openSUSE
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| openSUSE Leap 15.6 | dtb-aarch64 +10 | 6.4.0-150600.23.53.1 | SUSE-SU-2025:02000-1 |
| openSUSE Leap 15.6 | kernel-azure +2 | 6.4.0-150600.8.40.1 | SUSE-SU-2025:01965-1 |
| openSUSE Leap 15.6 | kernel-default-base | 6.4.0-150600.23.53.1.150600.12.24.1 | SUSE-SU-2025:02000-1 |
| openSUSE Leap 15.6 | kernel-rt +3 | 6.4.0-150600.10.39.1 | SUSE-SU-2025:01964-1 |
Amazon Linux
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Amazon Linux 2023 | kernel-livepatch-6.12.25-32.101 +1 | 1.0-0.amzn2023 | ALAS2023-2025-1050, ALAS2023-2025-995 |
| Amazon Linux 2023 | perf +14 | 6.1.140-154.222.amzn2023 | ALAS2023-2025-1050, ALAS2023-2025-995 |
| Amazon Linux 2023 | perf6.12 +5 | 6.12.25-32.101.amzn2023 | ALAS2023-2025-995 |
Oracle Linux
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Oracle Linux 9 | kernel-uek +34 | 6.12.0-101.33.4.3.el10uek | ELSA-2025-20530, ELSA-2025-20480 |
Advisories 36
- WID-SEC-2025-0922 Linux Kernel: Mehrere Schwachstellen BSI CERT-Bund (WID) · Nov 12, 2026
- USN-8028-5 linux-aws, linux-aws-6.8, linux-gkeop, linux-nvidia, linux-nvidia-6.8, linux-oracle, linux-oracle-6.8 vulnerabilities Ubuntu Security Notices (USN) · Nov 3, 2026
- USN-8126-1 linux-azure-6.8 vulnerabilities Ubuntu Security Notices (USN) · Nov 3, 2026
- USN-8028-8 linux-ibm, linux-ibm-6.8 vulnerabilities Ubuntu Security Notices (USN) · Nov 3, 2026
- USN-8028-6 linux-hwe-6.8, linux-lowlatency-hwe-6.8 vulnerabilities Ubuntu Security Notices (USN) · Nov 3, 2026
- USN-8052-1 linux-lowlatency vulnerabilities Ubuntu Security Notices (USN) · Nov 3, 2026
- USN-8052-2 linux-xilinx vulnerabilities Ubuntu Security Notices (USN) · Nov 3, 2026
- USN-8074-1 linux-azure vulnerabilities Ubuntu Security Notices (USN) · Nov 3, 2026
- USN-8074-2 linux-azure-fips vulnerabilities Ubuntu Security Notices (USN) · Nov 3, 2026
- USN-8031-3 linux-gcp, linux-gke vulnerabilities Ubuntu Security Notices (USN) · Nov 3, 2026
- USN-8028-4 linux-aws-fips, linux-fips vulnerabilities Ubuntu Security Notices (USN) · Nov 3, 2026
- USN-8028-1 linux, linux-raspi vulnerabilities Ubuntu Security Notices (USN) · Nov 3, 2026
- USN-8028-3 linux-realtime, linux-raspi-realtime vulnerabilities Ubuntu Security Notices (USN) · Nov 3, 2026
- USN-8028-7 linux-nvidia-lowlatency vulnerabilities Ubuntu Security Notices (USN) · Nov 3, 2026
- USN-8028-2 linux-realtime-6.8 vulnerabilities Ubuntu Security Notices (USN) · Nov 3, 2026
- USN-8031-2 linux-gcp-fips vulnerabilities Ubuntu Security Notices (USN) · Nov 3, 2026
- USN-8031-1 linux-gcp-6.8 vulnerabilities Ubuntu Security Notices (USN) · Nov 3, 2026
- SUSE-SU-2025:20421-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Mar 23, 2026
- SUSE-SU-2025:20413-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Mar 23, 2026
- SUSE-SU-2025:20419-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Mar 23, 2026
- SUSE-SU-2025:20408-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Mar 23, 2026
- SUSE-SU-2025:02254-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Mar 23, 2026
- SUSE-SU-2025:02000-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Mar 23, 2026
- SUSE-SU-2025:02333-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Mar 23, 2026
- SUSE-SU-2025:02307-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Mar 23, 2026
- DLA-4193-1 linux-6.1 - security update Debian Security (DSA / DLA) · Mar 9, 2026
- SUSE-SU-2025:01964-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Feb 4, 2026
- USN-7594-2 linux-azure vulnerabilities Ubuntu Security Notices (USN) · Feb 4, 2026
- USN-7594-1 linux, linux-gcp, linux-raspi, linux-realtime vulnerabilities Ubuntu Security Notices (USN) · Feb 4, 2026
- SUSE-SU-2025:02923-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Feb 4, 2026
- USN-7594-3 linux-aws, linux-oracle vulnerabilities Ubuntu Security Notices (USN) · Feb 4, 2026
- SUSE-SU-2025:01965-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Feb 4, 2026
- ALAS2023-2025-995 Important: kernel6.12 security update (Amazon Linux 2023) Amazon Linux Security Center (ALAS) · Aug 26, 2025
- ALAS2023-2025-1050 Important: kernel security update (Amazon Linux 2023) Amazon Linux Security Center (ALAS) · Aug 26, 2025
- ELSA-2025-20530 Important: Unbreakable Enterprise kernel security update (Oracle Linux 9) Oracle Linux Security Advisories (ELSA) · Aug 18, 2025
- ELSA-2025-20480 Important: Unbreakable Enterprise kernel security update (Oracle Linux 9) Oracle Linux Security Advisories (ELSA) · Jul 17, 2025
References
- https://git.kernel.org/stable/c/51003b2c872c63d28bcf5fbcc52cf7b05615f7b7
- https://git.kernel.org/stable/c/c2b169fc7a12665d8a675c1ff14bca1b9c63fb9a
- https://git.kernel.org/stable/c/d23fd7a539ac078df119707110686a5b226ee3bb
- https://git.kernel.org/stable/c/b172a4a0de254f1fcce7591833a9a63547c2f447
- https://git.kernel.org/stable/c/45f5dcdd049719fb999393b30679605f16ebce14