CVE-2024-40906 json
net/mlx5: Always stop health timer during driver removal
published 2024-07-12 2 y ago modified 2026-06-17 4 mo ago also EUVD-2024-38717
- cvss
- 7.8
- version 3.1, NVD
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.3%
- EPSS 0.3% chance of exploitation in 30 days, percentile 23%
- public exploits
- 0
- none known
Summary
In the Linux kernel, the following vulnerability has been resolved:
net/mlx5: Always stop health timer during driver removal
Currently, if teardown_hca fails to execute during driver removal, mlx5 does not stop the health timer. Afterwards, mlx5 continue with driver teardown. This may lead to a UAF bug, which results in page fault Oops[1], since the health timer invokes after resources were freed.
Hence, stop the health monitor even if teardown_hca fails.
[1] mlx5_core 0000:18:00.0: E-Switch: Unload vfs: mode(LEGACY), nvfs(0), necvfs(0), active vports(0) mlx5_core 0000:18:00.0: E-Switch: Disable: mode(LEGACY), nvfs(0), necvfs(0), active vports(0) mlx5_core 0000:18:00.0: E-Switch: Disable: mode(LEGACY), nvfs(0), necvfs(0), active vports(0) mlx5_core 0000:18:00.0: E-Switch: cleanup mlx5_core 0000:18:00.0: wait_func:1155:(pid 1967079): TEARDOWN_HCA(0x103) timeout. Will cause a leak of a command resource mlx5_core 0000:18:00.0: mlx5_function_close:1288:(pid 1967079): tear_down_hca failed, skip cleanup BUG: unable to handle page fault for address: ffffa26487064230 PGD 100c00067 P4D 100c00067 PUD 100e5a067 PMD 105ed7067 PTE 0 Oops: 0000 [#1] PREEMPT SMP PTI CPU: 0 PID: 0 Comm: swapper/0 Tainted: G OE ------- --- 6.7.0-68.fc38.x86_64 #1 Hardware name: Intel Corporation S2600WFT/S2600WFT, BIOS SE5C620.86B.02.01.0013.121520200651 12/15/2020 RIP: 0010:ioread32be+0x34/0x60 RSP: 0018:ffffa26480003e58 EFLAGS: 00010292 RAX: ffffa26487064200 RBX: ffff9042d08161a0 RCX: ffff904c108222c0 RDX: 000000010bbf1b80 RSI: ffffffffc055ddb0 RDI: ffffa26487064230 RBP: ffff9042d08161a0 R08: 0000000000000022 R09: ffff904c108222e8 R10: 0000000000000004 R11: 0000000000000441 R12: ffffffffc055ddb0 R13: ffffa26487064200 R14: ffffa26480003f00 R15: ffff904c108222c0 FS: 0000000000000000(0000) GS:ffff904c10800000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: ffffa26487064230 CR3: 00000002c4420006 CR4: 00000000007706f0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 PKRU: 55555554 Call Trace: <IRQ> ? __die+0x23/0x70 ? page_fault_oops+0x171/0x4e0 ? exc_page_fault+0x175/0x180 ? asm_exc_page_fault+0x26/0x30 ? __pfx_poll_health+0x10/0x10 [mlx5_core] ? __pfx_poll_health+0x10/0x10 [mlx5_core] ? ioread32be+0x34/0x60 mlx5_health_check_fatal_sensors+0x20/0x100 [mlx5_core] ? __pfx_poll_health+0x10/0x10 [mlx5_core] poll_health+0x42/0x230 [mlx5_core] ? __next_timer_interrupt+0xbc/0x110 ? __pfx_poll_health+0x10/0x10 [mlx5_core] call_timer_fn+0x21/0x130 ? __pfx_poll_health+0x10/0x10 [mlx5_core] __run_timers+0x222/0x2c0 run_timer_softirq+0x1d/0x40 __do_softirq+0xc9/0x2c8 __irq_exit_rcu+0xa6/0xc0 sysvec_apic_timer_interrupt+0x72/0x90 </IRQ> <TASK> asm_sysvec_apic_timer_interrupt+0x1a/0x20 RIP: 0010:cpuidle_enter_state+0xcc/0x440 ? cpuidle_enter_state+0xbd/0x440 cpuidle_enter+0x2d/0x40 do_idle+0x20d/0x270 cpu_startup_entry+0x2a/0x30 rest_init+0xd0/0xd0 arch_call_rest_init+0xe/0x30 start_kernel+0x709/0xa90 x86_64_start_reservations+0x18/0x30 x86_64_start_kernel+0x96/0xa0 secondary_startup_64_no_verify+0x18f/0x19b ---[ end trace 0000000000000000 ]---
Patch / fix
- Linux Linux 6.1.95, 6.6.35, 6.9.6, 6.10
- linux Debian 12 6.1.99-1
- linux Debian 14, Debian 13 6.9.7-1
debian advisories DEBIAN-CVE-2024-40906
- linux Ubuntu 24.04 LTS 6.8.0-44.44
- linux-aws Ubuntu 24.04 LTS 6.8.0-1015.16
- linux-gcp Ubuntu 24.04 LTS 6.8.0-1014.16
- linux-gke Ubuntu 24.04 LTS 6.8.0-1010.13
- linux-ibm Ubuntu 24.04 LTS 6.8.0-1012.12
- linux-azure Ubuntu 24.04 LTS 6.8.0-1014.16
- linux-raspi Ubuntu 24.04 LTS 6.8.0-1011.12
- linux-riscv Ubuntu 24.04 LTS 6.8.0-44.44.1
ubuntu advisories UBUNTU-CVE-2024-40906
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-rt RHEL 8 4.18.0-553.53.1.rt7.394.el8_10
- kernel-rt-kvm RHEL 8 4.18.0-553.53.1.rt7.394.el8_10
- kernel-rt-core RHEL 8 4.18.0-553.53.1.rt7.394.el8_10
- kernel-rt-modules RHEL 8 4.18.0-553.53.1.rt7.394.el8_10
- kernel-rt-debug-kvm RHEL 8 4.18.0-553.53.1.rt7.394.el8_10
- kernel-rt-debug-core RHEL 8 4.18.0-553.53.1.rt7.394.el8_10
- kernel-rt-debug-modules RHEL 8 4.18.0-553.53.1.rt7.394.el8_10
- kernel-rt-modules-extra RHEL 8 4.18.0-553.53.1.rt7.394.el8_10
red hat advisories RHSA-2025:8057RHSA-2025:8056RHSA-2024:9315
- kernel-rt Linux Micro 6.0 6.4.0-9.1
- kernel-source-rt Linux Micro 6.0 6.4.0-9.1
- kernel-source Linux Micro 6.0 6.4.0-18.1
- kernel-default Linux Micro 6.0 6.4.0-18.1
- kernel-kvmsmall Linux Micro 6.0 6.4.0-18.1
- kernel-default-base Linux Micro 6.0 6.4.0-17.1.1.51
- kernel-rt Real Time Module 15 SP6, openSUSE Leap 15.6 6.4.0-150600.10.5.1
- kernel-syms-rt Real Time Module 15 SP6, openSUSE Leap 15.6 6.4.0-150600.10.5.1
suse advisories SUSE-SU-2025:20028-1SUSE-SU-2025:20008-1SUSE-SU-2024:2973-1SUSE-SU-2024:2947-1SUSE-SU-2024:2939-1SUSE-SU-2024:2896-1
- kernel AlmaLinux 8 4.18.0-553.53.1.el8_10
- perf AlmaLinux 8 4.18.0-553.53.1.el8_10
- bpftool AlmaLinux 8 4.18.0-553.53.1.el8_10
- kernel-core AlmaLinux 8 4.18.0-553.53.1.el8_10
- kernel-tools AlmaLinux 8 4.18.0-553.53.1.el8_10
- python3-perf AlmaLinux 8 4.18.0-553.53.1.el8_10
- kernel-modules AlmaLinux 8 4.18.0-553.53.1.el8_10
- kernel-zfcpdump AlmaLinux 8 4.18.0-553.53.1.el8_10
almalinux advisories ALSA-2025:8056ALSA-2025:8057
- kernel-rt Rocky Linux 8 4.18.0-553.53.1.rt7.394.el8_10
- kernel Rocky Linux 8 4.18.0-553.53.1.el8_10
rocky linux advisories RLSA-2025:8057RLSA-2025:8056
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-2024-40906 updated cvss 7.3
kernel: net/mlx5: Always stop health timer during driver removal
-
Red Hat Enterprise Linux 7 perf, kernel, bpftool, kernel-rt, python-perf, kernel-kdump, +8 moreaffected: workaround, no fix planned “Out of support scope”
-
Red Hat Enterprise Linux 9 kernel-rt, kernel-rt-kvm, kernel-rt-core, kernel-rt-modules, kernel-rt-debug-kvm, kernel-rt-debug-core, +12 moreaffected: workaround, no fix planned “Will not fix”
-
Red Hat CodeReady Linux Builder (v. 9) libperf 5.14.0-503.11.1.el9_5, kernel-debuginfo-common-s390x 5.14.0-503.11.1.el9_5, kernel-debuginfo-common-x86_64 5.14.0-503.11.1.el9_5, kernel-debuginfo-common-aarch64 5.14.0-503.11.1.el9_5, kernel-debuginfo-common-ppc64le 5.14.0-503.11.1.el9_5 Red Hat Enterprise Linux AppStream (v. 9) rv 5.14.0-503.11.1.el9_5, perf 5.14.0-503.11.1.el9_5, rtla 5.14.0-503.11.1.el9_5, kernel-devel-matched 5.14.0-503.11.1.el9_5, kernel-64k-devel-matched 5.14.0-503.11.1.el9_5, kernel-debug-devel-matched 5.14.0-503.11.1.el9_5, +6 morefixed: vendor fix RHSA-2024:9315
-
Red Hat Enterprise Linux BaseOS (v. 8) perf 4.18.0-553.53.1.el8_10, kernel 4.18.0-553.53.1.el8_10, bpftool 4.18.0-553.53.1.el8_10, kernel-core 4.18.0-553.53.1.el8_10, kernel-tools 4.18.0-553.53.1.el8_10, python3-perf 4.18.0-553.53.1.el8_10, +15 morefixed: vendor fix RHSA-2025:8056
-
Red Hat Enterprise Linux BaseOS (v. 9) bpftool 7.4.0-503.11.1.el9_5, kernel 5.14.0-503.11.1.el9_5, kernel-64k 5.14.0-503.11.1.el9_5, kernel-core 5.14.0-503.11.1.el9_5, kernel-tools 5.14.0-503.11.1.el9_5, python3-perf 5.14.0-503.11.1.el9_5, +29 morefixed: vendor fix RHSA-2024:9315
-
Red Hat Enterprise Linux CRB (v. 8) kernel-debuginfo-common-x86_64 4.18.0-553.53.1.el8_10, kernel-debuginfo-common-aarch64 4.18.0-553.53.1.el8_10, kernel-debuginfo-common-ppc64le 4.18.0-553.53.1.el8_10fixed: vendor fix RHSA-2025:8056
-
Red Hat Enterprise Linux NFV (v. 8) kernel-rt 4.18.0-553.53.1.rt7.394.el8_10, kernel-rt-kvm 4.18.0-553.53.1.rt7.394.el8_10, kernel-rt-core 4.18.0-553.53.1.rt7.394.el8_10, kernel-rt-modules 4.18.0-553.53.1.rt7.394.el8_10, kernel-rt-debug-kvm 4.18.0-553.53.1.rt7.394.el8_10, kernel-rt-debug-core 4.18.0-553.53.1.rt7.394.el8_10, +4 morefixed: vendor fix RHSA-2025:8057
-
Red Hat Enterprise Linux Real Time (v. 9) kernel-rt 5.14.0-503.11.1.el9_5, kernel-rt-core 5.14.0-503.11.1.el9_5, kernel-rt-modules 5.14.0-503.11.1.el9_5, kernel-rt-debug-core 5.14.0-503.11.1.el9_5, kernel-rt-modules-core 5.14.0-503.11.1.el9_5, kernel-rt-debug-modules 5.14.0-503.11.1.el9_5, +4 more Red Hat Enterprise Linux Real Time for NFV (v. 9) kernel-rt 5.14.0-503.11.1.el9_5, kernel-rt-kvm 5.14.0-503.11.1.el9_5, kernel-rt-core 5.14.0-503.11.1.el9_5, kernel-rt-modules 5.14.0-503.11.1.el9_5, kernel-rt-debug-kvm 5.14.0-503.11.1.el9_5, kernel-rt-debug-core 5.14.0-503.11.1.el9_5, +6 morefixed: vendor fix RHSA-2024:9315
show 2 moreshow fewer
-
Red Hat Enterprise Linux RT (v. 8) kernel-rt 4.18.0-553.53.1.rt7.394.el8_10, kernel-rt-core 4.18.0-553.53.1.rt7.394.el8_10, kernel-rt-modules 4.18.0-553.53.1.rt7.394.el8_10, kernel-rt-debug-core 4.18.0-553.53.1.rt7.394.el8_10, kernel-rt-debug-modules 4.18.0-553.53.1.rt7.394.el8_10, kernel-rt-modules-extra 4.18.0-553.53.1.rt7.394.el8_10, +2 morefixed: vendor fix RHSA-2025:8057
-
Red Hat CodeReady Linux Builder (v. 9) kernel-cross-headers 5.14.0-503.11.1.el9_5 Red Hat Enterprise Linux 6 perf, kernel, python-perf, kernel-kdump, kernel-firmware, kernel-bootwrapper, +1 more Red Hat Enterprise Linux AppStream (v. 9) kernel-headers 5.14.0-503.11.1.el9_5not 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
- partial
- Assessed
- 2 y ago
Exploit prediction
0.30% chance of exploitation in the next 30 days, higher than 23% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| NVD | 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
- Weakness
-
- CWE-416 Use After Free
- Technology feeds
References
-
git.kernel.org
/stable/c/e7d4485d47839f4d1284592ae242c4e65b2810a9
patch
-
git.kernel.org
/stable/c/6ccada6ffb42e0ac75e3db06d41baf5a7f483f8a
patch
-
git.kernel.org
/stable/c/e6777ae0bf6fd5bc626bb051c8c93e3c8198a3f8
patch
-
git.kernel.org
/stable/c/c8b3f38d2dae0397944814d691a419c451f9906f
patch
- lists.debian.org /debian-lts-announce/2025/01/msg00001.html
Sources
- CVE List CVE-2024-40906
- NVD CVE-2024-40906
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.