CVE-2023-52586
NoneCVSS
—
EPSS
0.2%
Published
Mar 6, 2024
CISA due date
—
Cloudanix analysis
A timing flaw in how the Linux kernel handles display interrupts on certain graphics hardware could let local programs interfere with each other and cause crashes or glitches.
- Exploitation
- Local Privilege
- Attacker needs
- Local User
- Complexity
- Moderate
- Impact
- Other
- Component
- OS kernel
- Class
- Race Condition
- Remediation
- Patch
- Effort
- Low
- Patch risk
- Low
What it actually does
Race condition in drm/msm/dpu vblank IRQ control where concurrent enable/disable operations from multiple threads can corrupt callback registration without a mutex, leading to invalid IRQ handling states.
Why it matters to the business
Potential kernel instability, graphics subsystem crashes, or display interruptions on affected Linux systems, increasing downtime risk for devices using MSM/DPU hardware; patch available since early 2024 reduces urgency but unpatched kernels remain exposed.
How an attack unfolds
An attacker with local access triggers concurrent vblank enable/disable paths through graphics workloads or driver interactions to exploit the unprotected registration sequence, potentially causing undefined behavior in IRQ callbacks.
How to fix it
Update the Linux kernel to a version containing commit 14f109bf74dd67e1d0469fed859c8e506b0df53f or later; rebuild and deploy the fixed kernel image across affected systems.
How to confirm the fix worked
Verify the running kernel includes commit 14f109bf74dd67e1d0469fed859c8e506b0df53f via git log or kernel version string; test vblank enable/disable concurrency under load to confirm absence of races.
Typical attack path
- Obtain local execution context on a system with msm/dpu DRM driver
- Craft or trigger concurrent vblank IRQ control operations from multiple threads
- Exploit timing window during callback register/unregister to induce race
- Leverage resulting inconsistent state for denial of service or further kernel memory corruption
How to detect it
Examine kernel logs for vblank IRQ registration errors, mutex-related warnings, or unexpected display subsystem panics around the time of suspected activity; correlate with process activity involving DRM or graphics subsystems.
What your security team should do
- Prioritize kernel upgrade to the fixed commit on all MSM/DPU-based Linux deployments within standard maintenance windows
- Monitor upstream stable branches for backports and apply promptly
- Review graphics driver usage for unnecessary concurrent vblank operations as a temporary hardening step
The record
In the Linux kernel, the following vulnerability has been resolved: drm/msm/dpu: Add mutex lock in control vblank irq Add a mutex lock to control vblank irq to synchronize vblank enable/disable operations happening from different threads to prevent race conditions while registering/unregistering the vblank irq callback. v4: -Removed vblank_ctl_lock from dpu_encoder_virt, so it is only a parameter of dpu_encoder_phys. -Switch from atomic refcnt to a simple int counter as mutex has now been added v3: Mistakenly did not change wording in last version. It is done now. v2: Slightly changed wording of commit message Patchwork: https://patchwork.freedesktop.org/patch/571854/
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Debian:11 | linux | 0 | No fix |
| Debian:12 | linux | 0 | No fix |
| Debian:13 | linux | 0 | 6.7.7-1 |
| Linux | Kernel | 4.19.0 | 6.7.4 |
| SUSE:Linux Enterprise High Availability Extension 12 SP5 | kernel-default | 0 | 4.12.14-122.219.1 |
| SUSE:Linux Enterprise High Availability Extension 15 SP5 | kernel-default | 0 | 5.14.21-150500.55.68.1 |
| SUSE:Linux Enterprise Live Patching 12 SP5 | kernel-default | 0 | 4.12.14-122.219.1 |
| SUSE:Linux Enterprise Live Patching 12 SP5 | kgraft-patch-SLE12-SP5_Update_57 | 0 | 1-8.3.1 |
| SUSE:Linux Enterprise Live Patching 15 SP5 | kernel-default | 0 | 5.14.21-150500.55.68.1 |
| SUSE:Linux Enterprise Live Patching 15 SP5 | kernel-livepatch-SLE15-SP5-RT_Update_16 | 0 | 1-150500.11.3.1 |
| SUSE:Linux Enterprise Live Patching 15 SP5 | kernel-livepatch-SLE15-SP5_Update_15 | 0 | 1-150500.11.3.1 |
| SUSE:Linux Enterprise Micro 5.5 | kernel-default | 0 | 5.14.21-150500.55.68.1 |
| SUSE:Linux Enterprise Micro 5.5 | kernel-default-base | 0 | 5.14.21-150500.55.68.1.150500.6.31.1 |
| SUSE:Linux Enterprise Micro 5.5 | kernel-rt | 0 | 5.14.21-150500.13.58.1 |
| SUSE:Linux Enterprise Micro 5.5 | kernel-source-rt | 0 | 5.14.21-150500.13.58.1 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP5 | kernel-64kb | 0 | 5.14.21-150500.55.68.1 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP5 | kernel-default | 0 | 5.14.21-150500.55.68.1 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP5 | kernel-default-base | 0 | 5.14.21-150500.55.68.1.150500.6.31.1 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP5 | kernel-source | 0 | 5.14.21-150500.55.68.1 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP5 | kernel-zfcpdump | 0 | 5.14.21-150500.55.68.1 |
| SUSE:Linux Enterprise Module for Development Tools 15 SP5 | kernel-docs | 0 | 5.14.21-150500.55.68.1 |
| SUSE:Linux Enterprise Module for Development Tools 15 SP5 | kernel-obs-build | 0 | 5.14.21-150500.55.68.1 |
| SUSE:Linux Enterprise Module for Development Tools 15 SP5 | kernel-source | 0 | 5.14.21-150500.55.68.1 |
| SUSE:Linux Enterprise Module for Development Tools 15 SP5 | kernel-syms | 0 | 5.14.21-150500.55.68.1 |
| SUSE:Linux Enterprise Module for Legacy 15 SP5 | kernel-default | 0 | 5.14.21-150500.55.68.1 |
| SUSE:Linux Enterprise Module for Public Cloud 15 SP5 | kernel-azure | 0 | 5.14.21-150500.33.57.1 |
| SUSE:Linux Enterprise Module for Public Cloud 15 SP5 | kernel-source-azure | 0 | 5.14.21-150500.33.57.1 |
| SUSE:Linux Enterprise Module for Public Cloud 15 SP5 | kernel-syms-azure | 0 | 5.14.21-150500.33.57.1 |
| SUSE:Linux Enterprise Real Time 12 SP5 | kernel-rt | 0 | 4.12.14-10.188.1 |
| SUSE:Linux Enterprise Real Time 12 SP5 | kernel-rt_debug | 0 | 4.12.14-10.188.1 |
| SUSE:Linux Enterprise Real Time 12 SP5 | kernel-source-rt | 0 | 4.12.14-10.188.1 |
| SUSE:Linux Enterprise Real Time 12 SP5 | kernel-syms-rt | 0 | 4.12.14-10.188.1 |
| SUSE:Linux Enterprise Server 12 SP5 | kernel-azure | 0 | 4.12.14-16.188.1 |
| SUSE:Linux Enterprise Server 12 SP5 | kernel-default | 0 | 4.12.14-122.219.1 |
| SUSE:Linux Enterprise Server 12 SP5 | kernel-source | 0 | 4.12.14-122.219.1 |
| SUSE:Linux Enterprise Server 12 SP5 | kernel-source-azure | 0 | 4.12.14-16.188.1 |
| SUSE:Linux Enterprise Server 12 SP5 | kernel-syms | 0 | 4.12.14-122.219.1 |
| SUSE:Linux Enterprise Server 12 SP5 | kernel-syms-azure | 0 | 4.12.14-16.188.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP5 | kernel-azure | 0 | 4.12.14-16.188.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP5 | kernel-default | 0 | 4.12.14-122.219.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP5 | kernel-source | 0 | 4.12.14-122.219.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP5 | kernel-source-azure | 0 | 4.12.14-16.188.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP5 | kernel-syms | 0 | 4.12.14-122.219.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP5 | kernel-syms-azure | 0 | 4.12.14-16.188.1 |
| SUSE:Linux Enterprise Software Development Kit 12 SP5 | kernel-docs | 0 | 4.12.14-122.219.1 |
| SUSE:Linux Enterprise Software Development Kit 12 SP5 | kernel-obs-build | 0 | 4.12.14-122.219.1 |
| SUSE:Linux Enterprise Workstation Extension 12 SP5 | kernel-default | 0 | 4.12.14-122.219.1 |
| SUSE:Linux Enterprise Workstation Extension 15 SP5 | kernel-default | 0 | 5.14.21-150500.55.68.1 |
| SUSE:Real Time Module 15 SP5 | kernel-rt | 0 | 5.14.21-150500.13.58.1 |
| SUSE:Real Time Module 15 SP5 | kernel-rt_debug | 0 | 5.14.21-150500.13.58.1 |
| SUSE:Real Time Module 15 SP5 | kernel-source-rt | 0 | 5.14.21-150500.13.58.1 |
| SUSE:Real Time Module 15 SP5 | kernel-syms-rt | 0 | 5.14.21-150500.13.58.1 |
| Ubuntu:16.04:LTS | linux-hwe-edge | 0 | No fix |
| 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-azure | 0 | No fix |
| Ubuntu:18.04:LTS | linux-azure-5.3 | 0 | No fix |
| 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-5.3 | 0 | No fix |
| 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-edge | 0 | No fix |
| Ubuntu:18.04:LTS | linux-oem | 0 | No fix |
| Ubuntu:18.04:LTS | linux-oracle-5.0 | 0 | No fix |
| Ubuntu:18.04:LTS | linux-oracle-5.3 | 0 | No fix |
| Ubuntu:20.04:LTS | linux | 0 | No fix |
| Ubuntu:20.04:LTS | linux-aws | 0 | No fix |
| 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 | No fix |
| Ubuntu:20.04:LTS | linux-aws-5.8 | 0 | No fix |
| Ubuntu:20.04:LTS | linux-azure | 0 | No fix |
| 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 | No fix |
| 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 | No fix |
| Ubuntu:20.04:LTS | linux-bluefield | 0 | No fix |
| Ubuntu:20.04:LTS | linux-gcp | 0 | No fix |
| 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 | No fix |
| 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 | No fix |
| Ubuntu:20.04:LTS | linux-gkeop-5.15 | 0 | No fix |
| 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 | No fix |
| Ubuntu:20.04:LTS | linux-hwe-5.8 | 0 | No fix |
| Ubuntu:20.04:LTS | linux-ibm | 0 | No fix |
| Ubuntu:20.04:LTS | linux-ibm-5.15 | 0 | No fix |
| Ubuntu:20.04:LTS | linux-intel-5.13 | 0 | No fix |
| Ubuntu:20.04:LTS | linux-intel-iotg-5.15 | 0 | No fix |
| Ubuntu:20.04:LTS | linux-iot | 0 | No fix |
| Ubuntu:20.04:LTS | linux-kvm | 0 | No fix |
| Ubuntu:20.04:LTS | linux-lowlatency-hwe-5.15 | 0 | No fix |
| 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 | No fix |
| 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 | No fix |
| Ubuntu:20.04:LTS | linux-oracle-5.8 | 0 | No fix |
| Ubuntu:20.04:LTS | linux-raspi | 0 | No fix |
| 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 | No fix |
| Ubuntu:20.04:LTS | linux-riscv-5.8 | 0 | No fix |
| Ubuntu:20.04:LTS | linux-xilinx-zynqmp | 0 | No fix |
| Ubuntu:22.04:LTS | linux | 0 | No fix |
| Ubuntu:22.04:LTS | linux-allwinner-5.19 | 0 | No fix |
| Ubuntu:22.04:LTS | linux-aws | 0 | No fix |
| 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-1009.9~22.04.2 |
| Ubuntu:22.04:LTS | linux-azure | 0 | No fix |
| 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-1008.8~22.04.1 |
| Ubuntu:22.04:LTS | linux-azure-fde | 0 | No fix |
| 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-azure-fde-6.8 | 0 | No fix |
| Ubuntu:22.04:LTS | linux-gcp | 0 | No fix |
| 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-1010.11~22.04.1 |
| Ubuntu:22.04:LTS | linux-gke | 0 | No fix |
| Ubuntu:22.04:LTS | linux-gkeop | 0 | No fix |
| 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-38.38~22.04.1 |
| Ubuntu:22.04:LTS | linux-ibm | 0 | No fix |
| Ubuntu:22.04:LTS | linux-intel-iot-realtime | 0 | No fix |
| Ubuntu:22.04:LTS | linux-intel-iotg | 0 | No fix |
| Ubuntu:22.04:LTS | linux-kvm | 0 | No fix |
| Ubuntu:22.04:LTS | linux-lowlatency | 0 | No fix |
| 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-38.38.1~22.04.2 |
| Ubuntu:22.04:LTS | linux-nvidia | 0 | No fix |
| Ubuntu:22.04:LTS | linux-nvidia-6.2 | 0 | No fix |
| Ubuntu:22.04:LTS | linux-nvidia-6.5 | 0 | No fix |
| Ubuntu:22.04:LTS | linux-nvidia-6.8 | 0 | 6.8.0-1008.8~22.04.1 |
| Ubuntu:22.04:LTS | linux-nvidia-tegra | 0 | No fix |
| Ubuntu:22.04:LTS | linux-nvidia-tegra-igx | 0 | No fix |
| 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 | No fix |
| Ubuntu:22.04:LTS | linux-oracle-6.5 | 0 | No fix |
| Ubuntu:22.04:LTS | linux-oracle-6.8 | 0 | 6.8.0-1006.6~22.04.3 |
| Ubuntu:22.04:LTS | linux-raspi | 0 | No fix |
| 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-38.38.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 | No fix |
| Ubuntu:22.04:LTS:for:NVIDIA:BlueField | linux-bluefield | 0 | No fix |
| Ubuntu:24.04:LTS | linux | 0 | 6.8.0-11.11 |
| Ubuntu:24.04:LTS | linux-aws | 0 | 6.8.0-1001.1 |
| Ubuntu:24.04:LTS | linux-azure | 0 | 6.8.0-1001.1 |
| Ubuntu:24.04:LTS | linux-azure-fde | 0 | No fix |
| Ubuntu:24.04:LTS | linux-gcp | 0 | 6.8.0-1002.2 |
| Ubuntu:24.04:LTS | linux-gke | 0 | 6.8.0-1003.5 |
| Ubuntu:24.04:LTS | linux-gkeop | 0 | 6.8.0-1001.3 |
| Ubuntu:24.04:LTS | linux-ibm | 0 | 6.8.0-1001.1 |
| Ubuntu:24.04:LTS | linux-lowlatency | 0 | 6.8.0-7.7.1 |
| Ubuntu:24.04:LTS | linux-nvidia | 0 | 6.8.0-1007.7 |
| Ubuntu:24.04:LTS | linux-nvidia-lowlatency | 0 | 6.8.0-1009.9.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-1003.3 |
| Ubuntu:24.04:LTS | linux-oracle | 0 | 6.8.0-1001.1 |
| Ubuntu:24.04:LTS | linux-raspi | 0 | 6.8.0-1001.1 |
| Ubuntu:24.04:LTS | linux-raspi-realtime | 0 | No fix |
| Ubuntu:24.04:LTS | linux-realtime | 0 | 6.8.0-1008.19 |
| Ubuntu:24.04:LTS | linux-riscv | 0 | 6.8.0-20.20.1 |
| Ubuntu:24.10 | linux | 0 | 6.8.0-31.31 |
| Ubuntu:24.10 | linux-aws | 0 | 6.8.0-1008.8 |
| Ubuntu:24.10 | linux-azure | 0 | 6.8.0-1007.7 |
| Ubuntu:24.10 | linux-gcp | 0 | 6.8.0-1007.7 |
Related vulnerabilities
- CVE-2025-38562 In the Linux kernel, the following vulnerability has been resolved: ksmbd: fix null… 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-22037 In the Linux kernel, the following vulnerability has been resolved: ksmbd: fix null… Also affects linux
- CVE-2025-21760 In the Linux kernel, the following vulnerability has been resolved: ndisc: extend RCU… Also affects linux
- CVE-2025-21758 In the Linux kernel, the following vulnerability has been resolved: ipv6: mcast: add RCU… Also affects linux
- CVE-2025-21664 In the Linux kernel, the following vulnerability has been resolved: dm thin: make… Also affects linux
- CVE-2024-57946 In the Linux kernel, the following vulnerability has been resolved: virtio-blk: don't… Also affects linux
- CVE-2024-57945 In the Linux kernel, the following vulnerability has been resolved: riscv: mm: Fix the… Also affects linux