CVE-2026-31490: drm/xe/pf: Fix use-after-free in migration restore
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)
Security readout for executives and security teams
Plain-English summary
A Linux graphics-driver flaw can leave a freed memory reference after a failed migration restore. A later write may reuse that invalid reference, potentially compromising system confidentiality, integrity, or availability. Exploitation requires local, low-privileged access according to the supplied CVSS vector.
Executive priority
Treat as a high-priority kernel update where the affected Xe virtualization path is present, particularly on shared systems granting local accounts. Other Linux systems should first be checked for driver, feature, and version applicability before emergency action.
Technical view
In drm/xe PF migration restore, an error from xe_sriov_pf_migration_restore_produce() leaves the data pointer non-NULL. Subsequent .write() calls can access freed memory. The referenced stable changes correct the condition by setting the pointer to NULL on error.
Likely exposure
Exposure is limited to Linux systems running an affected kernel and exercising the drm/xe PF SR-IOV migration-restore path. The supplied version data references 6.19, 6.19.11, and 7.0 boundaries, but does not unambiguously express the complete affected range.
Exploitation context
The CVSS vector describes a local, low-complexity attack requiring low privileges and no user interaction. The bundle marks KEV false, and no cited source reports active exploitation. Public proof-of-concept availability is not established.
Researcher notes
The critical state transition is the producer error path retaining a stale data pointer, followed by a later write callback. The sources establish the use-after-free and NULL-reset correction, but do not document exploit reliability, demonstrated privilege escalation, affected hardware, or public exploitation.
Mitigation direction
Update to a vendor-supported kernel build containing a referenced stable fix.
Review distribution or appliance vendor guidance to identify corrected packages for every affected deployment.
Prioritize systems where Xe PF SR-IOV migration restore is enabled or used.
Validation and detection
Inventory running Linux kernel versions on systems using drm/xe PF SR-IOV migration restore.
Map each package build to a referenced fix commit or explicit vendor confirmation.
Confirm the corrected kernel is active after maintenance, not merely installed.
Retest migration restore error handling through approved defensive regression testing.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cve · low confidence lookup
CVE-2026-31490 mapping review
Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
1CVSS vectors
3Timeline events
0ADP providers
3Source links
CVSS vector scores
1 official score
We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.