CVE-2026-31566: drm/amdgpu: Fix fence put before wait in amdgpu_amdkfd_submit_ib
In the Linux kernel, the following vulnerability has been resolved:
drm/amdgpu: Fix fence put before wait in amdgpu_amdkfd_submit_ib
amdgpu_amdkfd_submit_ib() submits a GPU job and gets a fence
from amdgpu_ib_schedule(). This fence is used to wait for job
completion.
Currently, the code drops the fence reference using dma_fence_put()
before calling dma_fence_wait().
If dma_fence_put() releases the last reference, the fence may be
freed before dma_fence_wait() is called. This can lead to a
use-after-free.
Fix this by waiting on the fence first and releasing the reference
only after dma_fence_wait() completes.
Fixes the below:
drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c:697 amdgpu_amdkfd_submit_ib() warn: passing freed memory 'f' (line 696)
(cherry picked from commit 8b9e5259adc385b61a6590a13b82ae0ac2bd3482)
Security readout for executives and security teams
Plain-English summary
A Linux AMD GPU driver flaw can access a job-completion object after freeing it. A low-privileged local user may be able to trigger serious confidentiality, integrity, or availability impacts. The source bundle establishes the memory-safety defect, but does not demonstrate a working exploit or specific real-world outcome.
Executive priority
Treat this as an accelerated patching priority for exposed Linux GPU systems, especially shared compute infrastructure. It is high severity but not an internet-wide emergency because exploitation requires local privileges and active exploitation is not established.
Technical view
amdgpu_amdkfd_submit_ib() releases a dma_fence reference before calling dma_fence_wait(). If that was the final reference, the wait operates on freed memory, causing a use-after-free. The kernel fix waits for job completion before releasing the fence.
Likely exposure
Exposure is limited to Linux systems using affected AMDGPU/KFD code and reachable by a low-privileged local user. The supplied version data contains ambiguous boundaries and a duplicated commit identifier, so confirm exposure through distribution advisories, package changelogs, or source-level fix verification.
Exploitation context
The CVSS 3.1 score is 7.8 with local access, low complexity, low privileges, and no user interaction. The bundle marks KEV false and provides no evidence of active exploitation, public exploit code, or remote reachability.
Researcher notes
The defect is a fence lifetime error consistent with use-after-free, although no CWE is supplied. The references identify stable-tree fixes, but the bundle does not establish trigger reliability, affected hardware scope, exploitation primitives, or concrete impact beyond the CVSS assessment.
Mitigation direction
Install a vendor-supported kernel build containing the referenced fence-ordering fix.
Confirm distribution backports instead of relying solely on the upstream version number.
Prioritize multi-user systems and compute hosts exposing AMD GPU capabilities to untrusted local accounts.
Until patched, reduce unnecessary untrusted local access as a compensating control.
Validation and detection
Inventory kernel package versions, build identifiers, and relevant distribution advisories.
Identify systems using AMDGPU/KFD and permitting local users to access GPU capabilities.
Check package changelogs or kernel source for the referenced stable fixes.
After updating, verify the running kernel matches the remediated package.
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-31566 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
7Source 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.