CVE-2024-46867
Medium · 5.5CVSS
5.5
EPSS
0.1%
Published
Sep 27, 2024
CISA due date
—
Cloudanix analysis
A bug in the Linux kernel's graphics memory handling could make the computer freeze or crash when certain memory information is checked.
- Exploitation
- Local Privilege
- Attacker needs
- Local User
- Complexity
- Moderate
- Impact
- Denial Of Service
- Component
- OS kernel
- Class
- Race Condition
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Race condition in drm/xe/client show_meminfo() that holds a spinlock while dropping the final reference to a buffer object, causing xe_bo destruction to attempt the same lock and/or sleep in atomic context.
Why it matters to the business
Linux systems using Intel Xe graphics may experience kernel deadlocks or crashes when memory information is queried under load, leading to system instability and potential denial of service for graphics workloads.
How an attack unfolds
A local attacker triggers show_meminfo() while racing with buffer object teardown so that the final put occurs inside the held spinlock, forcing the destruction path to reacquire the lock or sleep, resulting in deadlock.
How to fix it
Upgrade the Linux kernel to commit 9d3de463e23bfb1ff1567a32b099b1b3e5286a48 or later; apply the equivalent stable backports that replace the direct put with xe_bo_put_deferred() and move the final commit outside the lock. Rebuild and reboot.
How to confirm the fix worked
Confirm the running kernel contains commit 9d3de463e23bfb1ff1567a32b099b1b3e5286a48; exercise show_meminfo() under memory pressure and verify absence of deadlock or sleeping-while-atomic warnings in dmesg.
Typical attack path
- Obtain local shell on affected Linux kernel with Xe graphics
- Invoke or race memory-info display paths that call show_meminfo()
- Trigger concurrent buffer object release to hit the final reference drop inside the spinlock
- Cause kernel deadlock or sleeping-while-atomic panic
How to detect it
Review dmesg and kernel logs for sleeping-while-atomic or deadlock warnings involving xe_bo or show_meminfo; correlate with processes that query DRM client memory statistics.
What your security team should do
- Prioritize kernel upgrade on all Xe-equipped systems within normal patch windows
- Monitor vendor advisories for distribution-specific backports
- Add kernel deadlock and sleeping-while-atomic warnings to SIEM alerts
- Test graphics workloads after patching to confirm stability
The record
In the Linux kernel, the following vulnerability has been resolved: drm/xe/client: fix deadlock in show_meminfo() There is a real deadlock as well as sleeping in atomic() bug in here, if the bo put happens to be the last ref, since bo destruction wants to grab the same spinlock and sleeping locks. Fix that by dropping the ref using xe_bo_put_deferred(), and moving the final commit outside of the lock. Dropping the lock around the put is tricky since the bo can go out of scope and delete itself from the list, making it difficult to navigate to the next list entry. (cherry picked from commit 0083b8e6f11d7662283a267d4ce7c966812ffd8a)
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Debian:13 | linux | 0 | 6.10.11-1 |
| Linux | Kernel | 6.8.0 | 6.10.11 |
| Ubuntu:14.04:LTS | linux | 0 | 3.11.0-12.19 |
| Ubuntu:14.04:LTS | linux-aws | 0 | 4.4.0-1002.2 |
| Ubuntu:14.04:LTS | linux-azure | 0 | 4.15.0-1023.24~14.04.1 |
| Ubuntu:14.04:LTS | linux-lts-xenial | 0 | 4.4.0-13.29~14.04.1 |
| Ubuntu:16.04:LTS | linux | 0 | 4.4.0-2.16 |
| Ubuntu:16.04:LTS | linux-aws | 0 | 4.4.0-1001.10 |
| Ubuntu:16.04:LTS | linux-aws-hwe | 0 | 4.15.0-1030.31~16.04.1 |
| Ubuntu:16.04:LTS | linux-azure | 0 | 4.11.0-1009.9 |
| Ubuntu:16.04:LTS | linux-gcp | 0 | 4.10.0-1004.4 |
| Ubuntu:16.04:LTS | linux-hwe | 0 | 4.8.0-39.42~16.04.1 |
| Ubuntu:16.04:LTS | linux-hwe-edge | 0 | No fix |
| Ubuntu:16.04:LTS | linux-kvm | 0 | 4.4.0-1004.9 |
| Ubuntu:16.04:LTS | linux-oracle | 0 | 4.15.0-1007.9~16.04.1 |
| Ubuntu:18.04:LTS | linux | 0 | 4.13.0-16.19 |
| Ubuntu:18.04:LTS | linux-aws | 0 | 4.15.0-1001.1 |
| Ubuntu:18.04:LTS | linux-aws-5.0 | 0 | No fix |
| Ubuntu:18.04:LTS | linux-aws-5.3 | 0 | No fix |
| Ubuntu:18.04:LTS | linux-aws-5.4 | 0 | 5.4.0-1018.18~18.04.1 |
| Ubuntu:18.04:LTS | linux-azure | 0 | No fix |
| Ubuntu:18.04:LTS | linux-azure-4.15 | 0 | 4.15.0-1082.92 |
| Ubuntu:18.04:LTS | linux-azure-5.3 | 0 | No fix |
| Ubuntu:18.04:LTS | linux-azure-5.4 | 0 | 5.4.0-1020.20~18.04.1 |
| Ubuntu:18.04:LTS | linux-azure-edge | 0 | No fix |
| Ubuntu:18.04:LTS | linux-gcp | 0 | No fix |
| Ubuntu:18.04:LTS | linux-gcp-4.15 | 0 | 4.15.0-1071.81 |
| Ubuntu:18.04:LTS | linux-gcp-5.3 | 0 | No fix |
| Ubuntu:18.04:LTS | linux-gcp-5.4 | 0 | 5.4.0-1019.19~18.04.2 |
| Ubuntu:18.04:LTS | linux-gke-4.15 | 0 | No fix |
| Ubuntu:18.04:LTS | linux-gke-5.4 | 0 | No fix |
| Ubuntu:18.04:LTS | linux-gkeop-5.4 | 0 | No fix |
| Ubuntu:18.04:LTS | linux-hwe | 0 | No fix |
| Ubuntu:18.04:LTS | linux-hwe-5.4 | 0 | 5.4.0-37.41~18.04.1 |
| Ubuntu:18.04:LTS | linux-hwe-edge | 0 | 5.0.0-15.16~18.04.1 |
| Ubuntu:18.04:LTS | linux-ibm-5.4 | 0 | 5.4.0-1010.11~18.04.2 |
| Ubuntu:18.04:LTS | linux-kvm | 0 | 4.15.0-1002.2 |
| Ubuntu:18.04:LTS | linux-oem | 0 | No fix |
| Ubuntu:18.04:LTS | linux-oracle | 0 | 4.15.0-1007.9 |
| Ubuntu:18.04:LTS | linux-oracle-5.0 | 0 | No fix |
| Ubuntu:18.04:LTS | linux-oracle-5.3 | 0 | No fix |
| Ubuntu:18.04:LTS | linux-oracle-5.4 | 0 | 5.4.0-1019.19~18.04.1 |
| Ubuntu:18.04:LTS | linux-raspi-5.4 | 0 | 5.4.0-1013.13~18.04.1 |
| Ubuntu:20.04:LTS | linux | 0 | 5.4.0-9.12 |
| Ubuntu:20.04:LTS | linux-aws | 0 | 5.4.0-1005.5 |
| Ubuntu:20.04:LTS | linux-aws-5.11 | 0 | No fix |
| Ubuntu:20.04:LTS | linux-aws-5.13 | 0 | No fix |
| Ubuntu:20.04:LTS | linux-aws-5.15 | 0 | 5.15.0-1014.18~20.04.1 |
| Ubuntu:20.04:LTS | linux-aws-5.8 | 0 | No fix |
| Ubuntu:20.04:LTS | linux-azure | 0 | 5.4.0-1006.6 |
| Ubuntu:20.04:LTS | linux-azure-5.11 | 0 | No fix |
| Ubuntu:20.04:LTS | linux-azure-5.13 | 0 | No fix |
| Ubuntu:20.04:LTS | linux-azure-5.15 | 0 | 5.15.0-1007.8~20.04.1 |
| Ubuntu:20.04:LTS | linux-azure-5.8 | 0 | No fix |
| Ubuntu:20.04:LTS | linux-azure-fde | 0 | No fix |
| Ubuntu:20.04:LTS | linux-azure-fde-5.15 | 0 | 5.15.0-1019.24~20.04.1.1 |
| Ubuntu:20.04:LTS | linux-bluefield | 0 | 5.4.0-1007.10 |
| Ubuntu:20.04:LTS | linux-gcp | 0 | 5.4.0-1005.5 |
| Ubuntu:20.04:LTS | linux-gcp-5.11 | 0 | No fix |
| Ubuntu:20.04:LTS | linux-gcp-5.13 | 0 | No fix |
| Ubuntu:20.04:LTS | linux-gcp-5.15 | 0 | 5.15.0-1006.9~20.04.1 |
| Ubuntu:20.04:LTS | linux-gcp-5.8 | 0 | No fix |
| Ubuntu:20.04:LTS | linux-gke | 0 | No fix |
| Ubuntu:20.04:LTS | linux-gke-5.15 | 0 | No fix |
| Ubuntu:20.04:LTS | linux-gkeop | 0 | 5.4.0-1008.9 |
| Ubuntu:20.04:LTS | linux-gkeop-5.15 | 0 | 5.15.0-1003.5~20.04.2 |
| Ubuntu:20.04:LTS | linux-hwe-5.11 | 0 | No fix |
| Ubuntu:20.04:LTS | linux-hwe-5.13 | 0 | No fix |
| Ubuntu:20.04:LTS | linux-hwe-5.15 | 0 | 5.15.0-33.34~20.04.1 |
| Ubuntu:20.04:LTS | linux-hwe-5.8 | 0 | No fix |
| Ubuntu:20.04:LTS | linux-ibm | 0 | 5.4.0-1003.4 |
| Ubuntu:20.04:LTS | linux-ibm-5.15 | 0 | 5.15.0-1033.36~20.04.1 |
| Ubuntu:20.04:LTS | linux-intel-5.13 | 0 | No fix |
| Ubuntu:20.04:LTS | linux-intel-iotg-5.15 | 0 | 5.15.0-1003.5~20.04.1 |
| Ubuntu:20.04:LTS | linux-iot | 0 | 5.4.0-1001.3 |
| Ubuntu:20.04:LTS | linux-kvm | 0 | 5.4.0-1004.4 |
| Ubuntu:20.04:LTS | linux-lowlatency-hwe-5.15 | 0 | 5.15.0-33.34~20.04.1 |
| Ubuntu:20.04:LTS | linux-oem-5.10 | 0 | No fix |
| Ubuntu:20.04:LTS | linux-oem-5.13 | 0 | No fix |
| Ubuntu:20.04:LTS | linux-oem-5.14 | 0 | No fix |
| Ubuntu:20.04:LTS | linux-oem-5.6 | 0 | No fix |
| Ubuntu:20.04:LTS | linux-oracle | 0 | 5.4.0-1005.5 |
| Ubuntu:20.04:LTS | linux-oracle-5.11 | 0 | No fix |
| Ubuntu:20.04:LTS | linux-oracle-5.13 | 0 | No fix |
| Ubuntu:20.04:LTS | linux-oracle-5.15 | 0 | 5.15.0-1007.9~20.04.1 |
| Ubuntu:20.04:LTS | linux-oracle-5.8 | 0 | No fix |
| Ubuntu:20.04:LTS | linux-raspi | 0 | 5.4.0-1007.7 |
| Ubuntu:20.04:LTS | linux-raspi2 | 0 | No fix |
| Ubuntu:20.04:LTS | linux-riscv | 0 | No fix |
| Ubuntu:20.04:LTS | linux-riscv-5.11 | 0 | No fix |
| Ubuntu:20.04:LTS | linux-riscv-5.15 | 0 | 5.15.0-1015.17~20.04.1 |
| Ubuntu:20.04:LTS | linux-riscv-5.8 | 0 | No fix |
| Ubuntu:20.04:LTS | linux-xilinx-zynqmp | 0 | 5.4.0-1020.24 |
| Ubuntu:22.04:LTS | linux | 0 | 5.13.0-19.19 |
| Ubuntu:22.04:LTS | linux-allwinner-5.19 | 0 | No fix |
| Ubuntu:22.04:LTS | linux-aws | 0 | 5.13.0-1005.6 |
| Ubuntu:22.04:LTS | linux-aws-5.19 | 0 | No fix |
| Ubuntu:22.04:LTS | linux-aws-6.2 | 0 | No fix |
| Ubuntu:22.04:LTS | linux-aws-6.5 | 0 | No fix |
| Ubuntu:22.04:LTS | linux-aws-6.8 | 0 | 6.8.0-1020.22~22.04.1 |
| Ubuntu:22.04:LTS | linux-azure | 0 | 5.13.0-1006.7 |
| Ubuntu:22.04:LTS | linux-azure-5.19 | 0 | No fix |
| Ubuntu:22.04:LTS | linux-azure-6.2 | 0 | No fix |
| Ubuntu:22.04:LTS | linux-azure-6.5 | 0 | No fix |
| Ubuntu:22.04:LTS | linux-azure-6.8 | 0 | 6.8.0-1020.23~22.04.1 |
| Ubuntu:22.04:LTS | linux-azure-fde | 0 | 5.15.0-1019.24.1 |
| Ubuntu:22.04:LTS | linux-azure-fde-5.19 | 0 | No fix |
| Ubuntu:22.04:LTS | linux-azure-fde-6.2 | 0 | No fix |
| Ubuntu:22.04:LTS | linux-gcp | 0 | 5.13.0-1005.6 |
| Ubuntu:22.04:LTS | linux-gcp-5.19 | 0 | No fix |
| Ubuntu:22.04:LTS | linux-gcp-6.2 | 0 | No fix |
| Ubuntu:22.04:LTS | linux-gcp-6.5 | 0 | No fix |
| Ubuntu:22.04:LTS | linux-gcp-6.8 | 0 | 6.8.0-1019.21~22.04.1 |
| Ubuntu:22.04:LTS | linux-gke | 0 | 5.15.0-1002.2 |
| Ubuntu:22.04:LTS | linux-gkeop | 0 | 5.15.0-1001.2 |
| Ubuntu:22.04:LTS | linux-hwe-5.19 | 0 | No fix |
| Ubuntu:22.04:LTS | linux-hwe-6.2 | 0 | No fix |
| Ubuntu:22.04:LTS | linux-hwe-6.5 | 0 | No fix |
| Ubuntu:22.04:LTS | linux-hwe-6.8 | 0 | 6.8.0-50.51~22.04.1 |
| Ubuntu:22.04:LTS | linux-ibm | 0 | 5.15.0-1002.2 |
| Ubuntu:22.04:LTS | linux-intel-iot-realtime | 0 | No fix |
| Ubuntu:22.04:LTS | linux-intel-iot-realtime | 0 | 5.15.0-1021.26 |
| Ubuntu:22.04:LTS | linux-intel-iotg | 0 | 5.15.0-1004.6 |
| Ubuntu:22.04:LTS | linux-kvm | 0 | 5.13.0-1004.4 |
| Ubuntu:22.04:LTS | linux-lowlatency | 0 | 5.15.0-22.22 |
| Ubuntu:22.04:LTS | linux-lowlatency-hwe-5.19 | 0 | No fix |
| Ubuntu:22.04:LTS | linux-lowlatency-hwe-6.2 | 0 | No fix |
| Ubuntu:22.04:LTS | linux-lowlatency-hwe-6.5 | 0 | No fix |
| Ubuntu:22.04:LTS | linux-lowlatency-hwe-6.8 | 0 | 6.8.0-50.51.1~22.04.1 |
| Ubuntu:22.04:LTS | linux-nvidia | 0 | 5.15.0-1005.5 |
| Ubuntu:22.04:LTS | linux-nvidia-6.2 | 0 | No fix |
| Ubuntu:22.04:LTS | linux-nvidia-6.5 | 0 | 6.5.0-1004.4 |
| Ubuntu:22.04:LTS | linux-nvidia-6.8 | 0 | 6.8.0-1019.21~22.04.1 |
| Ubuntu:22.04:LTS | linux-oem-5.17 | 0 | No fix |
| Ubuntu:22.04:LTS | linux-oem-6.0 | 0 | No fix |
| Ubuntu:22.04:LTS | linux-oem-6.1 | 0 | No fix |
| Ubuntu:22.04:LTS | linux-oem-6.5 | 0 | No fix |
| Ubuntu:22.04:LTS | linux-oracle | 0 | 5.13.0-1008.10 |
| Ubuntu:22.04:LTS | linux-oracle-6.5 | 0 | No fix |
| Ubuntu:22.04:LTS | linux-oracle-6.8 | 0 | 6.8.0-1017.18~22.04.1 |
| Ubuntu:22.04:LTS | linux-raspi | 0 | 5.13.0-1008.9 |
| Ubuntu:22.04:LTS | linux-realtime | 0 | No fix |
| Ubuntu:22.04:LTS | linux-riscv | 0 | No fix |
| Ubuntu:22.04:LTS | linux-riscv-5.19 | 0 | No fix |
| Ubuntu:22.04:LTS | linux-riscv-6.5 | 0 | No fix |
| Ubuntu:22.04:LTS | linux-riscv-6.8 | 0 | 6.8.0-50.51.1~22.04.1 |
| Ubuntu:22.04:LTS | linux-starfive-5.19 | 0 | No fix |
| Ubuntu:22.04:LTS | linux-starfive-6.2 | 0 | No fix |
| Ubuntu:22.04:LTS | linux-starfive-6.5 | 0 | No fix |
| Ubuntu:22.04:LTS | linux-xilinx-zynqmp | 0 | 5.15.0-1022.26 |
| Ubuntu:22.04:LTS:for:NVIDIA:BlueField | linux-bluefield | 0 | 5.15.0-1011.13 |
| Ubuntu:24.04:LTS | linux | 0 | 6.8.0-50.51 |
| Ubuntu:24.04:LTS | linux-aws | 0 | 6.8.0-1020.22 |
| Ubuntu:24.04:LTS | linux-azure | 0 | 6.8.0-1020.23 |
| Ubuntu:24.04:LTS | linux-gcp | 0 | 6.8.0-1019.21 |
| Ubuntu:24.04:LTS | linux-gke | 0 | 6.8.0-1015.19 |
| Ubuntu:24.04:LTS | linux-gkeop | 0 | 6.8.0-1002.4 |
| Ubuntu:24.04:LTS | linux-ibm | 0 | 6.8.0-1017.17 |
| Ubuntu:24.04:LTS | linux-lowlatency | 0 | 6.8.0-50.51.1 |
| Ubuntu:24.04:LTS | linux-nvidia | 0 | 6.8.0-1019.21 |
| Ubuntu:24.04:LTS | linux-nvidia-lowlatency | 0 | 6.8.0-1019.21.1 |
| Ubuntu:24.04:LTS | linux-oem-6.11 | 0 | 6.11.0-1007.7 |
| Ubuntu:24.04:LTS | linux-oem-6.8 | 0 | 6.8.0-1018.18 |
| Ubuntu:24.04:LTS | linux-oracle | 0 | 6.8.0-1017.18 |
| Ubuntu:24.04:LTS | linux-raspi | 0 | 6.8.0-1016.18 |
| Ubuntu:24.04:LTS | linux-raspi-realtime | 0 | No fix |
| Ubuntu:24.04:LTS | linux-realtime | 0 | No fix |
| Ubuntu:24.04:LTS | linux-riscv | 0 | 6.8.0-50.51.1 |
| Ubuntu:24.10 | linux | 0 | 6.11.0-8.8 |
| Ubuntu:24.10 | linux-aws | 0 | 6.11.0-1004.4 |
| Ubuntu:24.10 | linux-azure | 0 | 6.11.0-1004.4 |
| Ubuntu:24.10 | linux-gcp | 0 | 6.11.0-1002.2 |
| Ubuntu:24.10 | linux-lowlatency | 0 | 6.11.0-1004.4 |
| Ubuntu:24.10 | linux-oracle | 0 | 6.11.0-1006.6 |
| Ubuntu:24.10 | linux-raspi | 0 | 6.11.0-1004.4 |
| Ubuntu:24.10 | linux-realtime | 0 | 6.11.0-1001.1 |
| Ubuntu:24.10 | linux-riscv | 0 | 6.11.0-8.8.1 |
| Ubuntu:Pro:16.04:LTS | linux-hwe-edge | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | linux-aws-5.0 | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | linux-aws-5.3 | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | linux-azure | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | linux-azure-5.3 | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | linux-azure-edge | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | linux-gcp | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | linux-gcp-5.3 | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | linux-gke-4.15 | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | linux-gke-5.4 | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | linux-gkeop-5.4 | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | linux-hwe | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | linux-hwe-edge | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | linux-oem | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | linux-oracle-5.0 | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | linux-oracle-5.3 | 0 | No fix |
| Ubuntu:Pro:20.04:LTS | linux-aws-5.11 | 0 | No fix |
| Ubuntu:Pro:20.04:LTS | linux-aws-5.13 | 0 | No fix |
| Ubuntu:Pro:20.04:LTS | linux-aws-5.8 | 0 | No fix |
| Ubuntu:Pro:20.04:LTS | linux-azure-5.11 | 0 | No fix |
| Ubuntu:Pro:20.04:LTS | linux-azure-5.13 | 0 | No fix |
| Ubuntu:Pro:20.04:LTS | linux-azure-5.8 | 0 | No fix |
| Ubuntu:Pro:20.04:LTS | linux-azure-fde | 0 | No fix |
Related vulnerabilities
- CVE-2025-39682 In the Linux kernel, the following vulnerability has been resolved: tls: fix handling of… Also affects linux
- CVE-2025-38562 In the Linux kernel, the following vulnerability has been resolved: ksmbd: fix null… Also affects linux
- CVE-2023-3867 In the Linux kernel, the following vulnerability has been resolved: ksmbd: fix out of… Also affects linux
- CVE-2023-3865 In the Linux kernel, the following vulnerability has been resolved: ksmbd: fix… Also affects linux
- CVE-2025-38352 In the Linux kernel, the following vulnerability has been resolved: posix-cpu-timers: fix… Also affects linux
- CVE-2025-37924 In the Linux kernel, the following vulnerability has been resolved: ksmbd: fix… Also affects linux
- CVE-2025-22037 In the Linux kernel, the following vulnerability has been resolved: ksmbd: fix null… Also affects linux
- CVE-2025-21813 In the Linux kernel, the following vulnerability has been resolved: timers/migration: Fix… Also affects linux