Vulnerability · Published Jul 29, 2024 · Assigned by Linux
CVE-2024-41092drm/i915/gt: Fix potential UAF by revoke of fence registers
High 7.8
In plain English
A high-severity security flaw in Linux from Linux. There are no confirmed reports of exploitation so far. The chance it is exploited in the next 30 days is estimated at 0.3% (higher than 19% of all known vulnerabilities). Fixed versions are available - upgrade the affected package.
Official description
In the Linux kernel, the following vulnerability has been resolved: drm/i915/gt: Fix potential UAF by revoke of fence registers CI has been sporadically reporting the following issue triggered by igt@i915_selftest@live@hangcheck on ADL-P and similar machines: <6> [414.049203] i915: Running intel_hangcheck_live_selftests/igt_reset_evict_fence ... <6> [414.068804] i915 0000:00:02.0: [drm] GT0: GUC: submission enabled <6> [414.068812] i915 0000:00:02.0: [drm] GT0: GUC: SLPC enabled <3> [414.070354] Unable to pin Y-tiled fence; err:-4 <3> [414.071282] i915_vma_revoke_fence:301 GEM_BUG_ON(!i915_active_is_idle(&fence->active)) ... <4>[ 609.603992] ------------[ cut here ]------------ <2>[ 609.603995] kernel BUG at drivers/gpu/drm/i915/gt/intel_ggtt_fencing.c:301! <4>[ 609.604003] invalid opcode: 0000 [#1] PREEMPT SMP NOPTI <4>[ 609.604006] CPU: 0 PID: 268 Comm: kworker/u64:3 Tainted: G U W 6.9.0-CI_DRM_14785-g1ba62f8cea9c+ #1 <4>[ 609.604008] Hardware name: Intel Corporation Alder Lake Client Platform/AlderLake-P DDR4 RVP, BIOS RPLPFWI1.R00.4035.A00.2301200723 01/20/2023 <4>[ 609.604010] Workqueue: i915 __i915_gem_free_work [i915] <4>[ 609.604149] RIP: 0010:i915_vma_revoke_fence+0x187/0x1f0 [i915] ... <4>[ 609.604271] Call Trace: <4>[ 609.604273] <TASK> ... <4>[ 609.604716] __i915_vma_evict+0x2e9/0x550 [i915] <4>[ 609.604852] __i915_vma_unbind+0x7c/0x160 [i915] <4>[ 609.604977] force_unbind+0x24/0xa0 [i915] <4>[ 609.605098] i915_vma_destroy+0x2f/0xa0 [i915] <4>[ 609.605210] __i915_gem_object_pages_fini+0x51/0x2f0 [i915] <4>[ 609.605330] __i915_gem_free_objects.isra.0+0x6a/0xc0 [i915] <4>[ 609.605440] process_scheduled_works+0x351/0x690 ... In the past, there were similar failures reported by CI from other IGT tests, observed on other platforms. Before commit 63baf4f3d587 ("drm/i915/gt: Only wait for GPU activity before unbinding a GGTT fence"), i915_vma_revoke_fence() was waiting for idleness of vma->active via fence_update(). That commit introduced vma->fence->active in order for the fence_update() to be able to wait selectively on that one instead of vma->active since only idleness of fence registers was needed. But then, another commit 0d86ee35097a ("drm/i915/gt: Make fence revocation unequivocal") replaced the call to fence_update() in i915_vma_revoke_fence() with only fence_write(), and also added that GEM_BUG_ON(!i915_active_is_idle(&fence->active)) in front. No justification was provided on why we might then expect idleness of vma->fence->active without first waiting on it. The issue can be potentially caused by a race among revocation of fence registers on one side and sequential execution of signal callbacks invoked on completion of a request that was using them on the other, still processed in parallel to revocation of those fence registers. Fix it by waiting for idleness of vma->fence->active in i915_vma_revoke_fence(). (cherry picked from commit 24bb052d3dd499c5956abad5f7d8e4fd07da7fb1)
Affected packages & fixed versions
| Ecosystem | Package | Fixed in | Advisory |
|---|---|---|---|
| AlmaLinux:8 | bpftool | 4.18.0-553.27.1.el8_10 | ALSA-2024:8856 |
| AlmaLinux:8 | kernel | 4.18.0-553.27.1.el8_10 | ALSA-2024:8856 |
| AlmaLinux:8 | kernel-abi-stablelists | 4.18.0-553.27.1.el8_10 | ALSA-2024:8856 |
| AlmaLinux:8 | kernel-core | 4.18.0-553.27.1.el8_10 | ALSA-2024:8856 |
| AlmaLinux:8 | kernel-cross-headers | 4.18.0-553.27.1.el8_10 | ALSA-2024:8856 |
| AlmaLinux:8 | kernel-debug | 4.18.0-553.27.1.el8_10 | ALSA-2024:8856 |
| AlmaLinux:8 | kernel-debug-core | 4.18.0-553.27.1.el8_10 | ALSA-2024:8856 |
| AlmaLinux:8 | kernel-debug-devel | 4.18.0-553.27.1.el8_10 | ALSA-2024:8856 |
| AlmaLinux:8 | kernel-debug-modules | 4.18.0-553.27.1.el8_10 | ALSA-2024:8856 |
| AlmaLinux:8 | kernel-debug-modules-extra | 4.18.0-553.27.1.el8_10 | ALSA-2024:8856 |
| AlmaLinux:8 | kernel-devel | 4.18.0-553.27.1.el8_10 | ALSA-2024:8856 |
| AlmaLinux:8 | kernel-doc | 4.18.0-553.27.1.el8_10 | ALSA-2024:8856 |
| AlmaLinux:8 | kernel-headers | 4.18.0-553.27.1.el8_10 | ALSA-2024:8856 |
| AlmaLinux:8 | kernel-modules | 4.18.0-553.27.1.el8_10 | ALSA-2024:8856 |
| AlmaLinux:8 | kernel-modules-extra | 4.18.0-553.27.1.el8_10 | ALSA-2024:8856 |
| AlmaLinux:8 | kernel-rt | 4.18.0-553.27.1.rt7.368.el8_10 | ALSA-2024:8870 |
| AlmaLinux:8 | kernel-rt-core | 4.18.0-553.27.1.rt7.368.el8_10 | ALSA-2024:8870 |
| AlmaLinux:8 | kernel-rt-debug | 4.18.0-553.27.1.rt7.368.el8_10 | ALSA-2024:8870 |
| AlmaLinux:8 | kernel-rt-debug-core | 4.18.0-553.27.1.rt7.368.el8_10 | ALSA-2024:8870 |
| AlmaLinux:8 | kernel-rt-debug-devel | 4.18.0-553.27.1.rt7.368.el8_10 | ALSA-2024:8870 |
| AlmaLinux:8 | kernel-rt-debug-modules | 4.18.0-553.27.1.rt7.368.el8_10 | ALSA-2024:8870 |
| AlmaLinux:8 | kernel-rt-debug-modules-extra | 4.18.0-553.27.1.rt7.368.el8_10 | ALSA-2024:8870 |
| AlmaLinux:8 | kernel-rt-devel | 4.18.0-553.27.1.rt7.368.el8_10 | ALSA-2024:8870 |
| AlmaLinux:8 | kernel-rt-modules | 4.18.0-553.27.1.rt7.368.el8_10 | ALSA-2024:8870 |
| AlmaLinux:8 | kernel-rt-modules-extra | 4.18.0-553.27.1.rt7.368.el8_10 | ALSA-2024:8870 |
| AlmaLinux:8 | kernel-tools | 4.18.0-553.27.1.el8_10 | ALSA-2024:8856 |
| AlmaLinux:8 | kernel-tools-libs | 4.18.0-553.27.1.el8_10 | ALSA-2024:8856 |
| AlmaLinux:8 | kernel-tools-libs-devel | 4.18.0-553.27.1.el8_10 | ALSA-2024:8856 |
| AlmaLinux:8 | kernel-zfcpdump | 4.18.0-553.27.1.el8_10 | ALSA-2024:8856 |
| AlmaLinux:8 | kernel-zfcpdump-core | 4.18.0-553.27.1.el8_10 | ALSA-2024:8856 |
| AlmaLinux:8 | kernel-zfcpdump-devel | 4.18.0-553.27.1.el8_10 | ALSA-2024:8856 |
| AlmaLinux:8 | kernel-zfcpdump-modules | 4.18.0-553.27.1.el8_10 | ALSA-2024:8856 |
| AlmaLinux:8 | kernel-zfcpdump-modules-extra | 4.18.0-553.27.1.el8_10 | ALSA-2024:8856 |
| AlmaLinux:8 | perf | 4.18.0-553.27.1.el8_10 | ALSA-2024:8856 |
| AlmaLinux:8 | python3-perf | 4.18.0-553.27.1.el8_10 | ALSA-2024:8856 |
| Debian:12 | linux | 6.1.98-1 | DEBIAN-CVE-2024-41092 |
| Debian:13 | linux | 6.9.8-1 | DEBIAN-CVE-2024-41092 |
| Debian:14 | linux | 6.9.8-1 | DEBIAN-CVE-2024-41092 |
| Rocky Linux:8 | kernel | 0:4.18.0-553.27.1.el8_10 | RLSA-2024:8856 |
| Rocky Linux:8 | kernel-rt | 0:4.18.0-553.27.1.rt7.368.el8_10 | RLSA-2024:8870 |
| Ubuntu:22.04:LTS | linux | 5.15.0-121.131 | UBUNTU-CVE-2024-41092 |
| Ubuntu:24.04:LTS | linux | 6.8.0-48.48 | UBUNTU-CVE-2024-41092 |
| Ubuntu:22.04:LTS | linux-allwinner-5.19 | no fix listed | UBUNTU-CVE-2024-41092 |
| Ubuntu:22.04:LTS | linux-aws | 5.15.0-1069.75 | UBUNTU-CVE-2024-41092 |
| Ubuntu:24.04:LTS | linux-aws | 6.8.0-1018.20 | UBUNTU-CVE-2024-41092 |
| Ubuntu:22.04:LTS | linux-aws-5.19 | no fix listed | UBUNTU-CVE-2024-41092 |
| Ubuntu:22.04:LTS | linux-aws-6.2 | no fix listed | UBUNTU-CVE-2024-41092 |
| Ubuntu:22.04:LTS | linux-aws-6.5 | no fix listed | UBUNTU-CVE-2024-41092 |
| Ubuntu:22.04:LTS | linux-aws-6.8 | 6.8.0-1018.19~22.04.1 | UBUNTU-CVE-2024-41092 |
| Ubuntu:22.04:LTS | linux-azure | 5.15.0-1072.81 | UBUNTU-CVE-2024-41092 |
| Ubuntu:24.04:LTS | linux-azure | 6.8.0-1017.20 | UBUNTU-CVE-2024-41092 |
| Ubuntu:22.04:LTS | linux-azure-5.19 | no fix listed | UBUNTU-CVE-2024-41092 |
| Ubuntu:22.04:LTS | linux-azure-6.2 | no fix listed | UBUNTU-CVE-2024-41092 |
| Ubuntu:22.04:LTS | linux-azure-6.5 | no fix listed | UBUNTU-CVE-2024-41092 |
| Ubuntu:22.04:LTS | linux-azure-6.8 | 6.8.0-1017.20~22.04.1 | UBUNTU-CVE-2024-41092 |
| Ubuntu:22.04:LTS | linux-azure-fde | 5.15.0-1072.81.1 | UBUNTU-CVE-2024-41092 |
| Ubuntu:22.04:LTS | linux-azure-fde-5.19 | no fix listed | UBUNTU-CVE-2024-41092 |
| Ubuntu:22.04:LTS | linux-azure-fde-6.2 | no fix listed | UBUNTU-CVE-2024-41092 |
| Ubuntu:22.04:LTS | linux-gcp | 5.15.0-1068.76 | UBUNTU-CVE-2024-41092 |
| Ubuntu:24.04:LTS | linux-gcp | 6.8.0-1017.19 | UBUNTU-CVE-2024-41092 |
| Ubuntu:22.04:LTS | linux-gcp-5.19 | no fix listed | UBUNTU-CVE-2024-41092 |
| Ubuntu:22.04:LTS | linux-gcp-6.2 | no fix listed | UBUNTU-CVE-2024-41092 |
| Ubuntu:22.04:LTS | linux-gcp-6.5 | no fix listed | UBUNTU-CVE-2024-41092 |
| Ubuntu:22.04:LTS | linux-gcp-6.8 | 6.8.0-1017.19~22.04.1 | UBUNTU-CVE-2024-41092 |
| Ubuntu:22.04:LTS | linux-gke | 5.15.0-1066.72 | UBUNTU-CVE-2024-41092 |
| Ubuntu:24.04:LTS | linux-gke | 6.8.0-1013.17 | UBUNTU-CVE-2024-41092 |
| Ubuntu:22.04:LTS | linux-gkeop | 5.15.0-1052.59 | UBUNTU-CVE-2024-41092 |
| Ubuntu:24.04:LTS | linux-gkeop | 6.8.0-1002.4 | UBUNTU-CVE-2024-41092 |
| Ubuntu:22.04:LTS | linux-hwe-5.19 | no fix listed | UBUNTU-CVE-2024-41092 |
| Ubuntu:22.04:LTS | linux-hwe-6.2 | no fix listed | UBUNTU-CVE-2024-41092 |
| Ubuntu:22.04:LTS | linux-hwe-6.5 | no fix listed | UBUNTU-CVE-2024-41092 |
| Ubuntu:22.04:LTS | linux-hwe-6.8 | 6.8.0-48.48~22.04.1 | UBUNTU-CVE-2024-41092 |
| Ubuntu:22.04:LTS | linux-ibm | 5.15.0-1062.65 | UBUNTU-CVE-2024-41092 |
| Ubuntu:24.04:LTS | linux-ibm | 6.8.0-1015.15 | UBUNTU-CVE-2024-41092 |
| Ubuntu:22.04:LTS | linux-ibm-6.8 | 6.8.0-1015.15~22.04.1 | UBUNTU-CVE-2024-41092 |
| Ubuntu:22.04:LTS | linux-intel-iotg | 5.15.0-1064.70 | UBUNTU-CVE-2024-41092 |
| Ubuntu:22.04:LTS | linux-kvm | 5.15.0-1066.71 | UBUNTU-CVE-2024-41092 |
| Ubuntu:22.04:LTS | linux-lowlatency | 5.15.0-121.131 | UBUNTU-CVE-2024-41092 |
| Ubuntu:24.04:LTS | linux-lowlatency | 6.8.0-48.48.3 | UBUNTU-CVE-2024-41092 |
| Ubuntu:22.04:LTS | linux-lowlatency-hwe-5.19 | no fix listed | UBUNTU-CVE-2024-41092 |
| Ubuntu:22.04:LTS | linux-lowlatency-hwe-6.2 | no fix listed | UBUNTU-CVE-2024-41092 |
| Ubuntu:22.04:LTS | linux-lowlatency-hwe-6.5 | no fix listed | UBUNTU-CVE-2024-41092 |
| Ubuntu:22.04:LTS | linux-lowlatency-hwe-6.8 | 6.8.0-48.48.3~22.04.1 | UBUNTU-CVE-2024-41092 |
| Ubuntu:22.04:LTS | linux-nvidia | 5.15.0-1064.65 | UBUNTU-CVE-2024-41092 |
| Ubuntu:24.04:LTS | linux-nvidia | 6.8.0-1017.19 | UBUNTU-CVE-2024-41092 |
| Ubuntu:22.04:LTS | linux-nvidia-6.2 | no fix listed | UBUNTU-CVE-2024-41092 |
| Ubuntu:22.04:LTS | linux-nvidia-6.5 | no fix listed | UBUNTU-CVE-2024-41092 |
| Ubuntu:22.04:LTS | linux-nvidia-6.8 | 6.8.0-1017.19~22.04.1 | UBUNTU-CVE-2024-41092 |
| Ubuntu:24.04:LTS | linux-nvidia-lowlatency | 6.8.0-1017.19.1 | UBUNTU-CVE-2024-41092 |
| Ubuntu:22.04:LTS | linux-nvidia-tegra | 5.15.0-1028.28 | UBUNTU-CVE-2024-41092 |
| Ubuntu:22.04:LTS | linux-nvidia-tegra-igx | 5.15.0-1016.16 | UBUNTU-CVE-2024-41092 |
| Ubuntu:22.04:LTS | linux-oem-5.17 | no fix listed | UBUNTU-CVE-2024-41092 |
| Ubuntu:22.04:LTS | linux-oem-6.0 | no fix listed | UBUNTU-CVE-2024-41092 |
| Ubuntu:22.04:LTS | linux-oem-6.1 | no fix listed | UBUNTU-CVE-2024-41092 |
| Ubuntu:22.04:LTS | linux-oem-6.5 | no fix listed | UBUNTU-CVE-2024-41092 |
| Ubuntu:24.04:LTS | linux-oem-6.8 | 6.8.0-1016.16 | UBUNTU-CVE-2024-41092 |
| Ubuntu:22.04:LTS | linux-oracle | 5.15.0-1067.73 | UBUNTU-CVE-2024-41092 |
| Ubuntu:24.04:LTS | linux-oracle | 6.8.0-1015.16 | UBUNTU-CVE-2024-41092 |
| Ubuntu:22.04:LTS | linux-oracle-6.5 | no fix listed | UBUNTU-CVE-2024-41092 |
| Ubuntu:22.04:LTS | linux-oracle-6.8 | 6.8.0-1015.15~22.04.1 | UBUNTU-CVE-2024-41092 |
| Ubuntu:22.04:LTS | linux-raspi | 5.15.0-1062.65 | UBUNTU-CVE-2024-41092 |
| Ubuntu:24.04:LTS | linux-raspi | 6.8.0-1014.16 | UBUNTU-CVE-2024-41092 |
| Ubuntu:22.04:LTS | linux-realtime | no fix listed | UBUNTU-CVE-2024-41092 |
| Ubuntu:22.04:LTS | linux-riscv | no fix listed | UBUNTU-CVE-2024-41092 |
| Ubuntu:24.04:LTS | linux-riscv | 6.8.0-48.48.1 | UBUNTU-CVE-2024-41092 |
| Ubuntu:22.04:LTS | linux-riscv-5.19 | no fix listed | UBUNTU-CVE-2024-41092 |
| Ubuntu:22.04:LTS | linux-riscv-6.5 | no fix listed | UBUNTU-CVE-2024-41092 |
| Ubuntu:22.04:LTS | linux-riscv-6.8 | 6.8.0-48.48.1~22.04.2 | UBUNTU-CVE-2024-41092 |
| Ubuntu:22.04:LTS | linux-starfive-5.19 | no fix listed | UBUNTU-CVE-2024-41092 |
| Ubuntu:22.04:LTS | linux-starfive-6.2 | no fix listed | UBUNTU-CVE-2024-41092 |
| Ubuntu:22.04:LTS | linux-starfive-6.5 | no fix listed | UBUNTU-CVE-2024-41092 |
| Ubuntu:24.04:LTS | linux-xilinx | 6.8.0-1009.10 | UBUNTU-CVE-2024-41092 |
| Ubuntu:22.04:LTS | linux-xilinx-zynqmp | 5.15.0-1035.39 | UBUNTU-CVE-2024-41092 |
Affected products (as reported)
| Vendor | Product | Versions |
|---|---|---|
| Linux | Linux | 0d86ee35097ae0f1c2c50f2b8035ef480e25e4f1 – before f771b91f21c46ad1217328d05e72a2c7e3add5350d86ee35097ae0f1c2c50f2b8035ef480e25e4f1 – before 29c0fdf49078ab161570d3d1c6e13d66f182717d0d86ee35097ae0f1c2c50f2b8035ef480e25e4f1 – before ca0fabd365a27a94a36e68a7a02df8ff3c13dac60d86ee35097ae0f1c2c50f2b8035ef480e25e4f1 – before 06dec31a0a5112a91f49085e8a8fa1a82296d5c70d86ee35097ae0f1c2c50f2b8035ef480e25e4f1 – before 414f4a31f7a811008fd9a33b06216b060bad18fc0d86ee35097ae0f1c2c50f2b8035ef480e25e4f1 – before 996c3412a06578e9d779a16b9e79ace18125ab50 |
| Linux | Linux | 5.8 |
References
- https://git.kernel.org/stable/c/f771b91f21c46ad1217328d05e72a2c7e3add535
- https://git.kernel.org/stable/c/29c0fdf49078ab161570d3d1c6e13d66f182717d
- https://git.kernel.org/stable/c/ca0fabd365a27a94a36e68a7a02df8ff3c13dac6
- https://git.kernel.org/stable/c/06dec31a0a5112a91f49085e8a8fa1a82296d5c7
- https://git.kernel.org/stable/c/414f4a31f7a811008fd9a33b06216b060bad18fc
- https://git.kernel.org/stable/c/996c3412a06578e9d779a16b9e79ace18125ab50
- https://lists.debian.org/debian-lts-announce/2025/01/msg00001.html