Skip to main content
CVE Vulnerability Database
Vulnerability Database/CVE-2025-71099

CVE-2025-71099: Linux Kernel Use-After-Free Vulnerability

CVE-2025-71099 is a use-after-free vulnerability in the Linux Kernel's DRM XE driver that could allow attackers to exploit race conditions in the OA configuration. This article covers technical details, impact, and fixes.

Updated:

CVE-2025-71099 Overview

CVE-2025-71099 is a use-after-free vulnerability [CWE-416] in the Linux kernel's Intel Xe graphics driver, specifically in the observation architecture (OA) subsystem. The flaw resides in the xe_oa_add_config_ioctl() function, which accesses the oa_config->id field after releasing the metrics_lock mutex that protects the configuration object's lifetime. A local attacker with low privileges can race the ioctl call with xe_oa_remove_config_ioctl() to free the configuration object before it is dereferenced. The vulnerability affects Linux kernel 6.11 and several 6.19 release candidates.

Critical Impact

Local attackers with low privileges can trigger a use-after-free in the Linux kernel, potentially leading to privilege escalation, kernel memory corruption, or denial of service on systems using Intel Xe graphics.

Affected Products

  • Linux kernel 6.11
  • Linux kernel 6.19-rc1 through 6.19-rc8
  • Systems using the Intel Xe DRM driver with OA (Observation Architecture) support

Discovery Timeline

  • 2026-01-13 - CVE-2025-71099 published to NVD
  • 2026-03-25 - Last updated in NVD database

Technical Details for CVE-2025-71099

Vulnerability Analysis

The vulnerability lives in the Intel Xe Direct Rendering Manager (DRM) driver's performance counter observation code. The xe_oa_add_config_ioctl() function creates a new OA configuration object and assigns it a unique identifier under the protection of metrics_lock. After registering the configuration, the function releases the mutex and then dereferences oa_config->id to return the identifier to userspace.

This dereference occurs outside the critical section that guarantees oa_config remains valid. The fix caches the identifier in a local variable while the lock is still held, eliminating the post-unlock dereference. The patch was cherry-picked from upstream commit 28aeaed130e8e587fd1b73b6d66ca41ccc5a1a31.

Root Cause

The root cause is improper synchronization between two ioctl handlers that share the same configuration object. The metrics_lock mutex governs the lifetime of oa_config structures, but xe_oa_add_config_ioctl() accesses fields of the structure after releasing the lock. This violates the lock's invariant and creates a narrow window in which a concurrent xe_oa_remove_config_ioctl() call can free the object.

Attack Vector

Exploitation requires local access and the ability to invoke ioctls against the Xe DRM device node. An attacker opens the device, calls xe_oa_add_config_ioctl() to register a configuration, and then predicts or enumerates the newly assigned id. A second thread races to call xe_oa_remove_config_ioctl() with that id during the brief window after metrics_lock is dropped but before oa_config->id is read. Successful timing frees the object, allowing the add-side dereference to operate on reclaimed memory. Reliable exploitation typically requires heap-spray techniques to place attacker-controlled data into the freed allocation.

No verified public proof-of-concept code is available. Refer to the upstream kernel commits referenced in the advisories for the precise code path.

Detection Methods for CVE-2025-71099

Indicators of Compromise

  • Unexpected kernel oops or general protection faults referencing xe_oa_add_config_ioctl or xe_oa_remove_config_ioctl in dmesg or /var/log/kern.log
  • KASAN (Kernel Address Sanitizer) reports flagging use-after-free reads in the drm/xe/oa subsystem
  • Unprivileged processes repeatedly opening /dev/dri/renderD* and issuing OA configuration ioctls in tight loops

Detection Strategies

  • Enable KASAN on test and staging kernels to surface the use-after-free at runtime before production deployment
  • Audit kernel ring buffer logs for crashes containing xe_oa symbols, which indicate either exploitation attempts or latent driver bugs
  • Monitor for processes performing high-frequency DRM ioctl sequences against the Xe driver from non-graphical workloads

Monitoring Recommendations

  • Forward kernel logs to a centralized analytics platform and alert on oops or panic entries mentioning xe_oa
  • Track auditd EXECVE and IOCTL records for unusual access patterns to /dev/dri/* device nodes by unprivileged users
  • Correlate kernel crash telemetry across fleet hosts to identify systematic exploitation attempts versus isolated hardware faults

How to Mitigate CVE-2025-71099

Immediate Actions Required

  • Apply the upstream Linux kernel patches referenced in the vendor advisories as soon as your distribution publishes updated packages
  • Inventory hosts running Intel Xe graphics hardware on kernels 6.11 and 6.19-rc series to prioritize patching
  • Restrict access to /dev/dri/renderD* device nodes to trusted users via group membership and udev rules

Patch Information

The fix is available in the upstream stable tree via three commits: Kernel Git Commit 7cdb9a9d, Kernel Git Commit c6d30b65, and Kernel Git Commit dcb17193. Apply the corresponding distribution kernel update once available, then reboot to load the patched kernel.

Workarounds

  • Blacklist the xe kernel module on systems that do not require Intel Xe graphics support by adding blacklist xe to /etc/modprobe.d/
  • Tighten permissions on DRM render nodes so only authenticated graphical sessions can issue ioctls
  • Disable the OA subsystem at runtime where feasible to prevent unprivileged invocation of the vulnerable ioctl path
bash
# Restrict DRM render node access to the video group
sudo chgrp video /dev/dri/renderD128
sudo chmod 660 /dev/dri/renderD128

# Optional: blacklist the xe driver if not needed
echo 'blacklist xe' | sudo tee /etc/modprobe.d/blacklist-xe.conf
sudo update-initramfs -u

Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

Default Legacy - Prefooter | Experience the World’s Most Advanced Cybersecurity Platform

Experience the Most Advanced Cybersecurity Platform

See how the world’s most intelligent, autonomous cybersecurity platform can protect your organization today and into the future.