CVE-2026-52976

drm/xe: Fix error cleanup in xe_exec_queue_create_ioctl()

HIGH
7.8
CVSS Score
Published: June 24, 2026 at 04:28 PM UTC
Updated: October 19, 2026 at 08:18 PM UTC
2 products affected across 2 vendorsLinux KernelEnterprise Linux

Using Linux by Linux?

Get instant alerts when new vulnerabilities affect Linux - before attackers find them.

Real-time alertsTrack your software stackFree plan available
Severity
HIGH7.8
Exploit prediction
EPSS 0.2%
SSVC
No known exploit

Description

In the Linux kernel, the following vulnerability has been resolved: drm/xe: Fix error cleanup in xe_exec_queue_create_ioctl() Two error handling issues exist in xe_exec_queue_create_ioctl(): 1. When xe_hw_engine_group_add_exec_queue() fails, the error path jumps to put_exec_queue which skips xe_exec_queue_kill(). If the VM is in preempt fence mode, xe_vm_add_compute_exec_queue() has already added the queue to the VM's compute exec queue list. Skipping the kill leaves the queue on that list, leading to a dangling pointer after the queue is freed. 2. When xa_alloc() fails after xe_hw_engine_group_add_exec_queue() has succeeded, the error path does not call xe_hw_engine_group_del_exec_queue() to remove the queue from the hw engine group list. The queue is then freed while still linked into the hw engine group, causing a use-after-free. Fix both by: - Changing the xe_hw_engine_group_add_exec_queue() failure path to jump to kill_exec_queue so that xe_exec_queue_kill() properly removes the queue from the VM's compute list. - Adding a del_hw_engine_group label before kill_exec_queue for the xa_alloc() failure path, which removes the queue from the hw engine group before proceeding with the rest of the cleanup. (cherry picked from commit 37c831f401746a45d510b312b0ed7a77b1e06ec8)

Affected

Our own answer: ranges merged, affected separated from platform-only, with confidence and review flags.

6.12 ≤ v < 6.12.916.13 ≤ v < 6.18.336.19 ≤ v < 7.0.107.17.1 rc17970cb36966c9b9183255dc097ae0446300eebcf
Vendor states this is fixed in 1be55646d8a2035343b012dcb12210db7bb8b056 (fixed)
Vendor states this is fixed in 753b149d5a433eb19e0c1b0eb4526a6e26120d1f (fixed)
Vendor states this is fixed in f3cc22d4df3ed58439ea7e21daa54c3608e03b78 (fixed)
Vendor states this is fixed in f93b00161213a0fe9f7ff1d8498ee5ca9e0a5c43 (fixed)
Vendor states this is fixed in 6.12 (unaffected)
Vendor states this is fixed in 6.12.91 (unaffected)
Vendor states this is fixed in 6.18.33 (unaffected)
Vendor states this is fixed in 7.0.10 (unaffected)
Vendor states this is fixed in 7.1 (unaffected)
Vendor states this is fixed in 0:5.14.0-687.30.1.el9_8 (unaffected)
Vendor states this is fixed in 0:6.12.0-211.37.1.el10_2 (unaffected)
Vendor states this is fixed in 6 (unaffected)
Vendor states this is fixed in 7 (unaffected)
Vendor states this is fixed in 8 (unaffected)

References (11)

SSVC — Action Prioritization

SSVCNo known exploitNot automatableTotal impact

SSVC signals action urgency (what to patch first), separate from CVSS which measures severity.

CVSS

7.8HIGHLinux
Vector?

Quick Info

StatusMODIFIED
CWE
CWE-825CWE-416

Get alerted

Stop reading CVE feeds looking for your own stack

Track the products you run and VulnTracker tells you when a new CVE affects them — with what is known about fixing it, and nothing about the rest.

Free plan, no card