CVE-2026-97496

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

State
Published
Severity
7.1 High
Published
Sep 24, 2026
Updated
Oct 3, 2026
Reserved
Sep 24, 2026

Read the record on cve.org

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.

Scores

CVSSScoreVectorSource
3.17.1 HighCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:HLinux

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • 42c6c48214b726c30918e8dc80e2168607d13ae4 to before e2bef0f168be46692a6b900916ff5da3771480edAffected
  • 42c6c48214b726c30918e8dc80e2168607d13ae4 to before d9183d974ddd5f09d029beaf359275ac20d4d5feAffected
  • 42c6c48214b726c30918e8dc80e2168607d13ae4 to before ec646686613d8ab05b282d1463a7baa49fd6b83bAffected
  • 42c6c48214b726c30918e8dc80e2168607d13ae4 to before 7ef144458f48d5589e36f1b3d83e83db2e5c5ba5Affected
LinuxLinux
  • 5.18Affected
  • before 5.18Not affected
  • 6.6.158 through 6.6.*Not affected
  • 6.12.111 through 6.12.*Not affected
  • 6.18.53 through 6.18.*Not affected
  • 7.2 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.