Description
In the Linux kernel, the following vulnerability has been resolved:

drm/amdkfd: Fix OOB memory exposure in get_wave_state()

The get_wave_state() function for v9 trusts cp_hqd_cntl_stack_size and
cp_hqd_cntl_stack_offset values read directly from the MQD, which are
written by GPU microcode and fully attacker-controlled on the
CRIU-restore path (via AMDKFD_IOC_RESTORE_PROCESS with H3).

this leads to an unbounded copy_to_user() that can leak adjacent
GTT/kernel memory. If offset > size, integer underflow produces a ~4 GiB
read length, if size is set to 1 MiB against a 4 KiB allocation, we leak
1 MiB of adjacent kernel memory (other queues' MQDs, ring buffers, KASLR
pointers).

Fix by clamping both cp_hqd_cntl_stack_size to the actual allocated
buffer size (q->ctl_stack_size) and cp_hqd_cntl_stack_offset to the
clamped size before performing arithmetic and copy_to_user().

This ensures we never read beyond the allocated kernel BO regardless of
attacker-supplied MQD field values.
Published: 2026-09-24
Score: 7.1 High
EPSS: < 1% Very Low
KEV: No
Impact: Information Disclosure
Action: Patch
AI Analysis

Impact

The flaw resides in the drm/amdkfd component of the Linux kernel, where get_wave_state() trusts attacker‑controlled values read from the GPU microcode on a CRIU‑restore path. This results in an unbounded copy_to_user() that can leak adjacent GTT and kernel memory, including KASLR pointers. The kernel may read far beyond the allocated buffer, enabling a large amount of kernel memory to be exposed, which constitutes a kernel‑level information‑disclosure vulnerability.

Affected Systems

The vulnerability affects the Linux kernel DRM subsystem (amdkfd) on all architectures that support AMD GPU processes. Based on the description, it is inferred that any kernel version containing the amdkfd driver before the patch is potentially impacted. No specific kernel release or version range is listed in the CNA data.

Risk and Exploitability

The CVSS score of 7.1 indicates a medium‑to‑high severity. The EPSS score of 0.00124 shows a very low probability of exploitation, and the vulnerability is not listed in the CISA KEV catalog. Based on the description, it is inferred that an attacker must have the ability to perform a CRIU‑restore of an AMDKFD process with a crafted microcode image, which limits the attack to a local or privileged user with control over the restore operation. The integer underflow can produce a read length of up to ~4 GiB, enabling a large amount of kernel memory to be exposed. The fix clamps the size and offset values before performing the copy, eliminating the out‑of‑bounds read.

Generated by OpenCVE AI on October 1, 2026 at 15:06 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade the Linux kernel to a patched version that includes the drm/amdkfd fix for get_wave_state().
  • Restrict or suspend the use of AMDKFD_IOC_RESTORE_PROCESS on systems until the kernel is updated, as the exploit requires that operation to inject attacker‑controlled values.
  • Verify that only trusted microcode images are used for AMD GPUs and consider disabling CRIU support for the DRM subsystem until the kernel update is applied.

Generated by OpenCVE AI on October 1, 2026 at 15:06 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Debian DLA Debian DLA DLA-4817-1 linux-6.12 security update
Debian DSA Debian DSA DSA-6528-1 linux security update
History

Sat, 03 Oct 2026 11:15:00 +0000


Thu, 01 Oct 2026 12:30:00 +0000

Type Values Removed Values Added
Weaknesses CWE-20
CWE-788

Wed, 30 Sep 2026 12:15:00 +0000


Fri, 25 Sep 2026 08:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-20
CWE-788

Fri, 25 Sep 2026 05:15:00 +0000

Type Values Removed Values Added
Metrics cvssV3_1

{'score': 7.1, 'vector': 'CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H'}


Thu, 24 Sep 2026 16:30:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: drm/amdkfd: Fix OOB memory exposure in get_wave_state() The get_wave_state() function for v9 trusts cp_hqd_cntl_stack_size and cp_hqd_cntl_stack_offset values read directly from the MQD, which are written by GPU microcode and fully attacker-controlled on the CRIU-restore path (via AMDKFD_IOC_RESTORE_PROCESS with H3). this leads to an unbounded copy_to_user() that can leak adjacent GTT/kernel memory. If offset > size, integer underflow produces a ~4 GiB read length, if size is set to 1 MiB against a 4 KiB allocation, we leak 1 MiB of adjacent kernel memory (other queues' MQDs, ring buffers, KASLR pointers). Fix by clamping both cp_hqd_cntl_stack_size to the actual allocated buffer size (q->ctl_stack_size) and cp_hqd_cntl_stack_offset to the clamped size before performing arithmetic and copy_to_user(). This ensures we never read beyond the allocated kernel BO regardless of attacker-supplied MQD field values.
Title drm/amdkfd: Fix OOB memory exposure in get_wave_state()
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-10-03T10:58:59.453Z

Reserved: 2026-09-24T16:01:01.150Z

Link: CVE-2026-97496

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-09-24T17:17:27.290

Modified: 2026-10-03T11:17:59.480

Link: CVE-2026-97496

cve-icon Redhat

Severity : Important

Publid Date: 2026-09-24T00:00:00Z

Links: CVE-2026-97496 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-10-01T15:15:10Z

Weaknesses