KernelScan.io

HIGH

xe SR-IOV Migration UAF

CVE-2026-31490

CVSS 7.8 / 10.0 NVD

CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

KernelScan AI7.8HIGH

01

In the Linux kernel, the following vulnerability has been resolved: drm/xe/pf: Fix use-after-free in migration restore When an error is returned from xe_sriov_pf_migration_restore_produce(), the data pointer is not set to NULL, which can trigger use-after-free in subsequent .write() calls. Set the pointer to NULL upon error to fix the problem. (cherry picked from commit 4f53d8c6d23527d734fe3531d08e15cb170a0819)

02

Engine v0.2.0

Risk summary

An attacker with local access to a system running Intel Xe GPU with SR-IOV enabled could potentially trigger memory corruption by repeatedly writing to the migration restore debugfs interface after causing an error condition. This could lead to system crashes or potentially arbitrary code execution with kernel privileges.

Affecteddrivers/gpu/drm/xe/xe_sriov_packet.c

Vulnerability analysis

Summary: Use-after-free vulnerability in Intel Xe GPU driver SR-IOV migration restore functionality

Root Cause: Missing pointer nullification after memory deallocation in error handling path

Attack Surface: Local access through debugfs interface, requires physical access to system with Intel Xe GPU and SR-IOV capabilities

Fix Mechanism: Set the data pointer to NULL after calling xe_sriov_packet_free() to prevent dangling pointer access

Details: The vulnerability occurs in the xe_sriov_packet_write_single() function when xe_sriov_pf_migration_restore_produce() returns an error. The function calls xe_sriov_packet_free() to deallocate the data buffer but fails to set the data pointer to NULL. This leaves a dangling pointer that can be accessed in subsequent .write() calls, leading to use-after-free conditions. The fix adds a simple assignment to set *data = NULL after freeing the buffer, preventing the dangling pointer from being dereferenced.

03

BranchFixed inPatch commit
6.196.19.11e28552b4ddea
mainline7.087997b6c6516