CVE-2026-31479
Use-After-Free in Linux Kernel DRM XE VM Bind Causes System Instability
Publication date: 2026-04-22
Last updated on: 2026-04-27
Assigner: kernel.org
Description
Description
CVSS Scores
EPSS Scores
| Probability: | |
| Percentile: |
Meta Information
Affected Vendors & Products
| Vendor | Product | Version / Range |
|---|---|---|
| linux | linux_kernel | 6.8 |
| linux | linux_kernel | 7.0 |
| linux | linux_kernel | 7.0 |
| linux | linux_kernel | 7.0 |
| linux | linux_kernel | 7.0 |
| linux | linux_kernel | 7.0 |
| linux | linux_kernel | 7.0 |
| linux | linux_kernel | 7.0 |
| linux | linux_kernel | From 6.13 (inc) to 6.18.21 (exc) |
| linux | linux_kernel | From 6.19 (inc) to 6.19.11 (exc) |
| linux | linux_kernel | From 6.8.1 (inc) to 6.12.80 (exc) |
Helpful Resources
Exploitability
| CWE ID | Description |
|---|---|
| CWE-UNKNOWN |
Attack-Flow Graph
AI Powered Q&A
Can you explain this vulnerability to me?
This vulnerability exists in the Linux kernel's drm/xe component, specifically related to tracking remap previous and next virtual memory areas (vma) during 3D workloads. The issue arises when a rebind operation occurs in the middle of a vma, and one or both mapped ends are compatible and skipped for rebind. This causes the previous and next tracking pointers to be set to NULL, and the original unmap virtual address range is shrunk to avoid unmapping the ends.
If an unwind path is triggered, it can leave three virtual address ranges where the two ends are never removed, and the middle range remains shrunken. Subsequent operations that try to re-insert or interact with these ranges may cause overlaps, triggering warnings and leaving the virtual memory in an inconsistent or bad state.
The fix involves two main changes: 1) preserving the prev/next tracking pointers instead of nuking them during skip cases, allowing correct removal of both ends during unwind, and 2) undoing the unmap virtual address shrinkage on the unwind path so the unmap range expands back to its original size before re-insertion.
How can this vulnerability impact me? :
This vulnerability can cause the Linux kernel's virtual memory management for GPU 3D workloads to enter an inconsistent state. Specifically, it can lead to overlapping virtual memory areas and warnings during GPU operations.
The impact includes potential instability or crashes in GPU-related processes, which may affect system reliability and performance during 3D workloads. It could also lead to unexpected behavior in applications relying on the drm/xe driver for GPU memory management.
How can this vulnerability be detected on my network or system? Can you suggest some commands?
This vulnerability can be detected by monitoring the Linux kernel logs for specific warning messages related to the drm/xe driver. The presence of warnings such as the following indicates the issue:
- [ 413.361679] WARNING: drivers/gpu/drm/xe/xe_vm.c:1217 at vm_bind_ioctl_ops_unwind+0x1e2/0x2e0 [xe], CPU#7: vkd3d_queue/9925
To detect this on your system, you can use commands to check the kernel log for these warnings. For example:
- sudo dmesg | grep 'drivers/gpu/drm/xe/xe_vm.c'
- sudo journalctl -k | grep 'vm_bind_ioctl_ops_unwind'
These commands will help identify if the kernel has logged warnings related to this vulnerability, indicating that the issue may be present.
What immediate steps should I take to mitigate this vulnerability?
The vulnerability has been resolved in the Linux kernel by changes that ensure proper tracking and handling of virtual memory areas (vma) during 3D workloads involving the drm/xe driver.
Immediate mitigation steps include:
- Update your Linux kernel to a version that includes the fix for this vulnerability, specifically one that contains the commit aec6969f75afbf4e01fd5fb5850ed3e9c27043ac or later.
- Monitor kernel logs for the warning messages to detect if the issue is occurring before applying the update.
- If updating the kernel immediately is not possible, consider limiting or avoiding workloads that trigger the drm/xe driver operations involved in this vulnerability.