CVE-2024-47696

HIGH EPSS 17.6%
Published Oct 21, 20241y ago · Modified Jun 17, 20261w ago
7.8 CVSS 3.1
High
Find Similar
Published Oct 21, 2024 1y ago
Last Modified Jun 17, 2026 1w ago

Description

In the Linux kernel, the following vulnerability has been resolved: RDMA/iwcm: Fix WARNING:at_kernel/workqueue.c:#check_flush_dependency In the commit aee2424246f9 ("RDMA/iwcm: Fix a use-after-free related to destroying CM IDs"), the function flush_workqueue is invoked to flush the work queue iwcm_wq. But at that time, the work queue iwcm_wq was created via the function alloc_ordered_workqueue without the flag WQ_MEM_RECLAIM. Because the current process is trying to flush the whole iwcm_wq, if iwcm_wq doesn't have the flag WQ_MEM_RECLAIM, verify that the current process is not reclaiming memory or running on a workqueue which doesn't have the flag WQ_MEM_RECLAIM as that can break forward-progress guarantee leading to a deadlock. The call trace is as below: [ 125.350876][ T1430] Call Trace: [ 125.356281][ T1430] <TASK> [ 125.361285][ T1430] ? __warn (kernel/panic.c:693) [ 125.367640][ T1430] ? check_flush_dependency (kernel/workqueue.c:3706 (discriminator 9)) [ 125.375689][ T1430] ? report_bug (lib/bug.c:180 lib/bug.c:219) [ 125.382505][ T1430] ? handle_bug (arch/x86/kernel/traps.c:239) [ 125.388987][ T1430] ? exc_invalid_op (arch/x86/kernel/traps.c:260 (discriminator 1)) [ 125.395831][ T1430] ? asm_exc_invalid_op (arch/x86/include/asm/idtentry.h:621) [ 125.403125][ T1430] ? check_flush_dependency (kernel/workqueue.c:3706 (discriminator 9)) [ 125.410984][ T1430] ? check_flush_dependency (kernel/workqueue.c:3706 (discriminator 9)) [ 125.418764][ T1430] __flush_workqueue (kernel/workqueue.c:3970) [ 125.426021][ T1430] ? __pfx___might_resched (kernel/sched/core.c:10151) [ 125.433431][ T1430] ? destroy_cm_id (drivers/infiniband/core/iwcm.c:375) iw_cm [ 125.441209][ T1430] ? __pfx___flush_workqueue (kernel/workqueue.c:3910) [ 125.473900][ T1430] ? _raw_spin_lock_irqsave (arch/x86/include/asm/atomic.h:107 include/linux/atomic/atomic-arch-fallback.h:2170 include/linux/atomic/atomic-instrumented.h:1302 include/asm-generic/qspinlock.h:111 include/linux/spinlock.h:187 include/linux/spinlock_api_smp.h:111 kernel/locking/spinlock.c:162) [ 125.473909][ T1430] ? __pfx__raw_spin_lock_irqsave (kernel/locking/spinlock.c:161) [ 125.482537][ T1430] _destroy_id (drivers/infiniband/core/cma.c:2044) rdma_cm [ 125.495072][ T1430] nvme_rdma_free_queue (drivers/nvme/host/rdma.c:656 drivers/nvme/host/rdma.c:650) nvme_rdma [ 125.505827][ T1430] nvme_rdma_reset_ctrl_work (drivers/nvme/host/rdma.c:2180) nvme_rdma [ 125.505831][ T1430] process_one_work (kernel/workqueue.c:3231) [ 125.515122][ T1430] worker_thread (kernel/workqueue.c:3306 kernel/workqueue.c:3393) [ 125.515127][ T1430] ? __pfx_worker_thread (kernel/workqueue.c:3339) [ 125.531837][ T1430] kthread (kernel/kthread.c:389) [ 125.539864][ T1430] ? __pfx_kthread (kernel/kthread.c:342) [ 125.550628][ T1430] ret_from_fork (arch/x86/kernel/process.c:147) [ 125.558840][ T1430] ? __pfx_kthread (kernel/kthread.c:342) [ 125.558844][ T1430] ret_from_fork_asm (arch/x86/entry/entry_64.S:257) [ 125.566487][ T1430] </TASK> [ 125.566488][ T1430] ---[ end trace 0000000000000000 ]---

CVSS Details

Base Score
7.8
Exploitability
1.8
Impact
5.9
Vector string
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Attack Vector Local
Attack Complexity Low
Privileges Required Low
User Interaction None
Scope Unchanged
Confidentiality High
Integrity High
Availability High

Threat Intelligence

EPSS Exploit Probability
17.6% percentile
Exploit & Patch Status
No Known Exploit
Patch Available

Weaknesses 1

CWE-416 Use After Free Memory Safety

Affected Products 8

VendorProductVersionRange
linuxlinux_kernel*≥4.19.320  –  <5.4
linuxlinux_kernel*≥5.4.282  –  <5.10
linuxlinux_kernel*≥5.10.224  –  <5.10.227
linuxlinux_kernel*≥5.15.165  –  <5.15.168
linuxlinux_kernel*≥6.1.103  –  <6.1.113
linuxlinux_kernel*≥6.6.44  –  <6.6.54
linuxlinux_kernel*≥6.10.3  –  <6.10.13
linuxlinux_kernel*≥6.11  –  <6.11.2

References 13

  • cert-portal.siemens.com https://cert-portal.siemens.com/productcert/html/ssa-265688.html
  • cert-portal.siemens.com https://cert-portal.siemens.com/productcert/html/ssa-355557.html
  • git.kernel.org https://git.kernel.org/stable/c/29b3bbd912b8db86df7a3c180b910ccb621f5635
  • git.kernel.org https://git.kernel.org/stable/c/2efe8da2ddbf873385b4bc55366d09350b408df6
    Patch
  • git.kernel.org https://git.kernel.org/stable/c/86dfdd8288907f03c18b7fb462e0e232c4f98d89
    Patch
  • git.kernel.org https://git.kernel.org/stable/c/8b7df76356d098f85f3bd2c7cf6fb43f531893d7
    Patch
  • git.kernel.org https://git.kernel.org/stable/c/a09dc967b3c58899e259c0aea092f421d22a0b04
    Patch
  • git.kernel.org https://git.kernel.org/stable/c/a64f30db12bdc937c5108158d98c8eab1925c548
    Patch
  • git.kernel.org https://git.kernel.org/stable/c/c8b18a75282cfd27822a8cc3c1f005c1ac8d1a58
    Patch
  • git.kernel.org https://git.kernel.org/stable/c/da0392698c62397c19deb1b9e9bdf2fbb5a9420e
    Patch
  • git.kernel.org https://git.kernel.org/stable/c/da2708a19f45b4a7278adf523837c8db21d1e2b5
  • lists.debian.org https://lists.debian.org/debian-lts-announce/2025/01/msg00001.html
  • lists.debian.org https://lists.debian.org/debian-lts-announce/2025/03/msg00002.html

Remediation

  • git.kernel.org https://git.kernel.org/stable/c/2efe8da2ddbf873385b4bc55366d09350b408df6
    Patch
  • git.kernel.org https://git.kernel.org/stable/c/86dfdd8288907f03c18b7fb462e0e232c4f98d89
    Patch
  • git.kernel.org https://git.kernel.org/stable/c/8b7df76356d098f85f3bd2c7cf6fb43f531893d7
    Patch
  • git.kernel.org https://git.kernel.org/stable/c/a09dc967b3c58899e259c0aea092f421d22a0b04
    Patch
  • git.kernel.org https://git.kernel.org/stable/c/a64f30db12bdc937c5108158d98c8eab1925c548
    Patch
  • git.kernel.org https://git.kernel.org/stable/c/c8b18a75282cfd27822a8cc3c1f005c1ac8d1a58
    Patch
  • git.kernel.org https://git.kernel.org/stable/c/da0392698c62397c19deb1b9e9bdf2fbb5a9420e
    Patch