CVE-2024-26984 json
nouveau: fix instmem race condition around ptr stores
published 2y ago modified 4mo ago also EUVD-2024-24246
- cvss
- 5.5
- 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 10%
- public exploits
- 0
- none known
Summary
In the Linux kernel, the following vulnerability has been resolved:
nouveau: fix instmem race condition around ptr stores
Running a lot of VK CTS in parallel against nouveau, once every few hours you might see something like this crash.
BUG: kernel NULL pointer dereference, address: 0000000000000008 PGD 8000000114e6e067 P4D 8000000114e6e067 PUD 109046067 PMD 0 Oops: 0000 [#1] PREEMPT SMP PTI CPU: 7 PID: 53891 Comm: deqp-vk Not tainted 6.8.0-rc6+ #27 Hardware name: Gigabyte Technology Co., Ltd. Z390 I AORUS PRO WIFI/Z390 I AORUS PRO WIFI-CF, BIOS F8 11/05/2021 RIP: 0010:gp100_vmm_pgt_mem+0xe3/0x180 [nouveau] Code: c7 48 01 c8 49 89 45 58 85 d2 0f 84 95 00 00 00 41 0f b7 46 12 49 8b 7e 08 89 da 42 8d 2c f8 48 8b 47 08 41 83 c7 01 48 89 ee <48> 8b 40 08 ff d0 0f 1f 00 49 8b 7e 08 48 89 d9 48 8d 75 04 48 c1 RSP: 0000:ffffac20c5857838 EFLAGS: 00010202 RAX: 0000000000000000 RBX: 00000000004d8001 RCX: 0000000000000001 RDX: 00000000004d8001 RSI: 00000000000006d8 RDI: ffffa07afe332180 RBP: 00000000000006d8 R08: ffffac20c5857ad0 R09: 0000000000ffff10 R10: 0000000000000001 R11: ffffa07af27e2de0 R12: 000000000000001c R13: ffffac20c5857ad0 R14: ffffa07a96fe9040 R15: 000000000000001c FS: 00007fe395eed7c0(0000) GS:ffffa07e2c980000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 0000000000000008 CR3: 000000011febe001 CR4: 00000000003706f0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 Call Trace:
...
? gp100_vmm_pgt_mem+0xe3/0x180 [nouveau] ? gp100_vmm_pgt_mem+0x37/0x180 [nouveau] nvkm_vmm_iter+0x351/0xa20 [nouveau] ? __pfx_nvkm_vmm_ref_ptes+0x10/0x10 [nouveau] ? __pfx_gp100_vmm_pgt_mem+0x10/0x10 [nouveau] ? __pfx_gp100_vmm_pgt_mem+0x10/0x10 [nouveau] ? __lock_acquire+0x3ed/0x2170 ? __pfx_gp100_vmm_pgt_mem+0x10/0x10 [nouveau] nvkm_vmm_ptes_get_map+0xc2/0x100 [nouveau] ? __pfx_nvkm_vmm_ref_ptes+0x10/0x10 [nouveau] ? __pfx_gp100_vmm_pgt_mem+0x10/0x10 [nouveau] nvkm_vmm_map_locked+0x224/0x3a0 [nouveau]
Adding any sort of useful debug usually makes it go away, so I hand wrote the function in a line, and debugged the asm.
Every so often pt->memory->ptrs is NULL. This ptrs ptr is set in the nv50_instobj_acquire called from nvkm_kmap.
If Thread A and Thread B both get to nv50_instobj_acquire around the same time, and Thread A hits the refcount_set line, and in lockstep thread B succeeds at refcount_inc_not_zero, there is a chance the ptrs value won't have been stored since refcount_set is unordered. Force a memory barrier here, I picked smp_mb, since we want it on all CPUs and it's write followed by a read.
v2: use paired smp_rmb/smp_wmb.
Patch / fix
- Linux Linux 4.19.313, 5.4.275, 5.10.216, 5.15.157, 6.1.88, 6.6.29, 6.8.8, 6.9
- linux linux_kernel 1bc4825d4c3e, 3ab056814cd8, 13d76b2f443d, 21ca9539f093, a019b44b1bc6, ad74d208f213, bba8ec5e9b16, fff1386cc889
- linux Debian 12 6.1.90-1
- linux Debian 14, Debian 13 6.8.9-1
debian advisories DEBIAN-CVE-2024-26984
- linux Ubuntu 20.04 LTS 5.4.0-189.209
- linux Ubuntu 22.04 LTS 5.15.0-116.126
- linux Ubuntu 24.04 LTS 6.8.0-38.38
- linux-aws Ubuntu 20.04 LTS 5.4.0-1128.138
- linux-aws Ubuntu 22.04 LTS 5.15.0-1065.71
- linux-aws Ubuntu 24.04 LTS 6.8.0-1011.12
- linux-gcp Ubuntu 20.04 LTS 5.4.0-1132.141
- linux-gcp Ubuntu 22.04 LTS 5.15.0-1064.72
ubuntu advisories UBUNTU-CVE-2024-26984
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 8 4.18.0-553.117.1.el8_10
- perf RHEL 8 4.18.0-553.117.1.el8_10
- bpftool RHEL 8 4.18.0-553.117.1.el8_10
- kernel-core RHEL 8 4.18.0-553.117.1.el8_10
- kernel-tools RHEL 8 4.18.0-553.117.1.el8_10
- python3-perf RHEL 8 4.18.0-553.117.1.el8_10
- kernel-modules RHEL 8 4.18.0-553.117.1.el8_10
- kernel-zfcpdump RHEL 8 4.18.0-553.117.1.el8_10
red hat advisories RHSA-2026:6571RHSA-2026:6572RHSA-2024:10773RHSA-2024:10772RHSA-2024:9546RHSA-2024:9315
- kernel-rt Linux Micro 6.1, Linux Micro 6.0 6.4.0-25.1
- kernel-source-rt Linux Micro 6.1, Linux Micro 6.0 6.4.0-25.1
- kernel-livepatch-MICRO-6-0-RT_Update_5 Linux Micro 6.1, Linux Micro 6.0 1-1.1
- 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
suse advisories SUSE-SU-2025:20166-1SUSE-SU-2025:20249-1SUSE-SU-2025:20028-1SUSE-SU-2025:20008-1SUSE-SU-2024:2973-1SUSE-SU-2024:2203-1
- kernel AlmaLinux 8 4.18.0-553.117.1.el8_10
- perf AlmaLinux 8 4.18.0-553.117.1.el8_10
- bpftool AlmaLinux 8 4.18.0-553.117.1.el8_10
- kernel-core AlmaLinux 8 4.18.0-553.117.1.el8_10
- kernel-tools AlmaLinux 8 4.18.0-553.117.1.el8_10
- python3-perf AlmaLinux 8 4.18.0-553.117.1.el8_10
- kernel-modules AlmaLinux 8 4.18.0-553.117.1.el8_10
- kernel-zfcpdump AlmaLinux 8 4.18.0-553.117.1.el8_10
almalinux advisories ALSA-2026:6571ALSA-2026:6572
- kernel-rt Rocky Linux 8 4.18.0-553.117.1.rt7.458.el8_10
- kernel Rocky Linux 8 4.18.0-553.117.1.el8_10
rocky linux advisories RLSA-2026:6572RLSA-2026:6571
- hyperv-daemons CBL-Mariner 2.0 5.15.158.1-1
azure linux advisories AZL-40425
Azure Linux vulnerability data, Copyright (c) Microsoft Corporation, from https://github.com/microsoft/AzureLinuxVulnerabilityData via OSV, under the MIT licence; changed: normalised to fixed package versions per release. MIT
- git.kernel.org/stable/c/bba8ec5e9b16649d85bc9e9086bf7ae5b5716ff9 commit
- git.kernel.org/stable/c/1bc4825d4c3ec6abe43cf06c3c39d664d044cbf7 commit
- git.kernel.org/stable/c/13d76b2f443dc371842916dd8768009ff1594716 commit
- git.kernel.org/stable/c/3ab056814cd8ab84744c9a19ef51360b2271c572 commit
- git.kernel.org/stable/c/ad74d208f213c06d860916ad40f609ade8c13039 commit
- git.kernel.org/stable/c/a019b44b1bc6ed224c46fb5f88a8a10dd116e525 commit
- git.kernel.org/stable/c/21ca9539f09360fd83654f78f2c361f2f5ddcb52 commit
- git.kernel.org/stable/c/fff1386cc889d8fb4089d285f883f8cba62d82ce commit
Is CVE-2024-26984 in your stack? Fencer shows which of your repositories are affected as soon as an advisory lands, and opens the fix as a pull request.
Check with FencerVendor 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-26984 updated cvss 5.5
kernel: nouveau: fix instmem race condition around ptr stores
-
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 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 available
-
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_5fixed: vendor fix RHSA-2024:9315
-
Red Hat CodeReady Linux Builder EUS (v.9.2) kernel-debuginfo-common-s390x 5.14.0-284.95.1.el9_2, kernel-debuginfo-common-x86_64 5.14.0-284.95.1.el9_2, kernel-debuginfo-common-aarch64 5.14.0-284.95.1.el9_2, kernel-debuginfo-common-ppc64le 5.14.0-284.95.1.el9_2fixed: vendor fix RHSA-2024:10772
-
Red Hat CodeReady Linux Builder EUS (v.9.4) libperf 5.14.0-427.44.1.el9_4, kernel-debuginfo-common-s390x 5.14.0-427.44.1.el9_4, kernel-debuginfo-common-x86_64 5.14.0-427.44.1.el9_4, kernel-debuginfo-common-aarch64 5.14.0-427.44.1.el9_4, kernel-debuginfo-common-ppc64le 5.14.0-427.44.1.el9_4fixed: vendor fix RHSA-2024:9546
-
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 AppStream EUS (v.9.2) perf 5.14.0-284.95.1.el9_2, rtla 5.14.0-284.95.1.el9_2, kernel-devel-matched 5.14.0-284.95.1.el9_2, kernel-64k-devel-matched 5.14.0-284.95.1.el9_2, kernel-debug-devel-matched 5.14.0-284.95.1.el9_2, kernel-debuginfo-common-s390x 5.14.0-284.95.1.el9_2, +5 morefixed: vendor fix RHSA-2024:10772
-
Red Hat Enterprise Linux AppStream EUS (v.9.4) rv 5.14.0-427.44.1.el9_4, perf 5.14.0-427.44.1.el9_4, rtla 5.14.0-427.44.1.el9_4, kernel-devel-matched 5.14.0-427.44.1.el9_4, kernel-64k-devel-matched 5.14.0-427.44.1.el9_4, kernel-debug-devel-matched 5.14.0-427.44.1.el9_4, +6 morefixed: vendor fix RHSA-2024:9546
show 14 moreshow fewer
-
Red Hat Enterprise Linux BaseOS (v. 8) perf 4.18.0-553.117.1.el8_10, kernel 4.18.0-553.117.1.el8_10, bpftool 4.18.0-553.117.1.el8_10, kernel-core 4.18.0-553.117.1.el8_10, kernel-tools 4.18.0-553.117.1.el8_10, python3-perf 4.18.0-553.117.1.el8_10, +15 morefixed: vendor fix RHSA-2026:6571
-
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 BaseOS EUS (v.9.2) bpftool 7.0.0-284.95.1.el9_2, kernel 5.14.0-284.95.1.el9_2, kernel-64k 5.14.0-284.95.1.el9_2, kernel-core 5.14.0-284.95.1.el9_2, kernel-tools 5.14.0-284.95.1.el9_2, python3-perf 5.14.0-284.95.1.el9_2, +28 morefixed: vendor fix RHSA-2024:10772
-
Red Hat Enterprise Linux BaseOS EUS (v.9.4) bpftool 7.3.0-427.44.1.el9_4, kernel 5.14.0-427.44.1.el9_4, kernel-64k 5.14.0-427.44.1.el9_4, kernel-core 5.14.0-427.44.1.el9_4, kernel-tools 5.14.0-427.44.1.el9_4, python3-perf 5.14.0-427.44.1.el9_4, +28 morefixed: vendor fix RHSA-2024:9546
-
Red Hat Enterprise Linux CRB (v. 8) kernel-debuginfo-common-x86_64 4.18.0-553.117.1.el8_10, kernel-debuginfo-common-aarch64 4.18.0-553.117.1.el8_10, kernel-debuginfo-common-ppc64le 4.18.0-553.117.1.el8_10fixed: vendor fix RHSA-2026:6571
-
Red Hat Enterprise Linux NFV (v. 8) kernel-rt 4.18.0-553.117.1.rt7.458.el8_10, kernel-rt-kvm 4.18.0-553.117.1.rt7.458.el8_10, kernel-rt-core 4.18.0-553.117.1.rt7.458.el8_10, kernel-rt-modules 4.18.0-553.117.1.rt7.458.el8_10, kernel-rt-debug-kvm 4.18.0-553.117.1.rt7.458.el8_10, kernel-rt-debug-core 4.18.0-553.117.1.rt7.458.el8_10, +4 morefixed: vendor fix RHSA-2026:6572
-
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 morefixed: vendor fix RHSA-2024:9315
-
Red Hat Enterprise Linux Real Time EUS (v.9.2) kernel-rt 5.14.0-284.95.1.rt14.380.el9_2, kernel-rt-core 5.14.0-284.95.1.rt14.380.el9_2, kernel-rt-modules 5.14.0-284.95.1.rt14.380.el9_2, kernel-rt-debug-core 5.14.0-284.95.1.rt14.380.el9_2, kernel-rt-modules-core 5.14.0-284.95.1.rt14.380.el9_2, kernel-rt-debug-modules 5.14.0-284.95.1.rt14.380.el9_2, +4 morefixed: vendor fix RHSA-2024:10773
-
Red Hat Enterprise Linux Real Time EUS (v.9.4) kernel-rt 5.14.0-427.44.1.el9_4, kernel-rt-core 5.14.0-427.44.1.el9_4, kernel-rt-modules 5.14.0-427.44.1.el9_4, kernel-rt-debug-core 5.14.0-427.44.1.el9_4, kernel-rt-modules-core 5.14.0-427.44.1.el9_4, kernel-rt-debug-modules 5.14.0-427.44.1.el9_4, +4 morefixed: vendor fix RHSA-2024:9546
-
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
-
Red Hat Enterprise Linux Real Time for NFV EUS (v.9.2) kernel-rt 5.14.0-284.95.1.rt14.380.el9_2, kernel-rt-kvm 5.14.0-284.95.1.rt14.380.el9_2, kernel-rt-core 5.14.0-284.95.1.rt14.380.el9_2, kernel-rt-modules 5.14.0-284.95.1.rt14.380.el9_2, kernel-rt-debug-kvm 5.14.0-284.95.1.rt14.380.el9_2, kernel-rt-debug-core 5.14.0-284.95.1.rt14.380.el9_2, +6 morefixed: vendor fix RHSA-2024:10773
-
Red Hat Enterprise Linux Real Time for NFV EUS (v.9.4) kernel-rt 5.14.0-427.44.1.el9_4, kernel-rt-kvm 5.14.0-427.44.1.el9_4, kernel-rt-core 5.14.0-427.44.1.el9_4, kernel-rt-modules 5.14.0-427.44.1.el9_4, kernel-rt-debug-kvm 5.14.0-427.44.1.el9_4, kernel-rt-debug-core 5.14.0-427.44.1.el9_4, +6 morefixed: vendor fix RHSA-2024:9546
-
Red Hat Enterprise Linux RT (v. 8) kernel-rt 4.18.0-553.117.1.rt7.458.el8_10, kernel-rt-core 4.18.0-553.117.1.rt7.458.el8_10, kernel-rt-modules 4.18.0-553.117.1.rt7.458.el8_10, kernel-rt-debug-core 4.18.0-553.117.1.rt7.458.el8_10, kernel-rt-debug-modules 4.18.0-553.117.1.rt7.458.el8_10, kernel-rt-modules-extra 4.18.0-553.117.1.rt7.458.el8_10, +2 morefixed: vendor fix RHSA-2026:6572
-
Red Hat CodeReady Linux Builder (v. 9) kernel-cross-headers 5.14.0-503.11.1.el9_5 Red Hat Enterprise Linux AppStream (v. 9) kernel-headers 5.14.0-503.11.1.el9_5 Red Hat Enterprise Linux AppStream EUS (v.9.2) kernel-doc 5.14.0-284.95.1.el9_2not 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
- last yr.
Exploit prediction
0.20% chance of exploitation in the next 30 days, higher than 10% of all scored CVEs (FIRST EPSS, 2026-11-11).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CISA ADP | 3.1 | 5.5 | CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H |
| CNA | 3.1 | 5.5 | CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H |
Affected products
- Linux Linux
- linux linux_kernel
Classification
- Weakness
-
- CWE-362 Concurrent Execution using Shared Resource with Improper Synchronization
- Technology feeds
References
-
git.kernel.org
/stable/c/bba8ec5e9b16649d85bc9e9086bf7ae5b5716ff9
patch
-
git.kernel.org
/stable/c/1bc4825d4c3ec6abe43cf06c3c39d664d044cbf7
patch
-
git.kernel.org
/stable/c/13d76b2f443dc371842916dd8768009ff1594716
patch
-
git.kernel.org
/stable/c/3ab056814cd8ab84744c9a19ef51360b2271c572
patch
-
git.kernel.org
/stable/c/ad74d208f213c06d860916ad40f609ade8c13039
patch
-
git.kernel.org
/stable/c/a019b44b1bc6ed224c46fb5f88a8a10dd116e525
patch
-
git.kernel.org
/stable/c/21ca9539f09360fd83654f78f2c361f2f5ddcb52
patch
-
git.kernel.org
/stable/c/fff1386cc889d8fb4089d285f883f8cba62d82ce
patch
-
lists.debian.org
/debian-lts-announce/2024/06/msg00017.html
mailing-list, third-party-advisory
-
lists.debian.org
/debian-lts-announce/2024/06/msg00020.html
mailing-list, third-party-advisory
- lists.fedoraproject.org /archives/list/package-announce@lists.fedoraproject.org/message/DAMSOZXJEPUOXW33WZYWCVAY7Z5S7OOY/
- lists.fedoraproject.org /archives/list/package-announce@lists.fedoraproject.org/message/4EZ6PJW7VOZ224TD7N4JZNU6KV32ZJ53/
- lists.fedoraproject.org /archives/list/package-announce@lists.fedoraproject.org/message/GCBZZEC7L7KTWWAS2NLJK6SO3IZIL4WW/
Sources
- CVE List CVE-2024-26984
- NVD CVE-2024-26984
Fencer Intel 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.