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

drm/amdkfd: fix uint32_t overflow in EOP ring buffer size alignment

eop_ring_buffer_size in struct queue_properties is a u32. In
kfd_queue_acquire_buffers() the expected EOP buffer size is computed as
ALIGN(eop_ring_buffer_size, PAGE_SIZE); ALIGN uses typeof(x), so the
addition is done in 32-bit. A user-supplied size of 0xFFFFF001 wraps to
0, causing kfd_queue_buffer_get() to skip its exact-size check (gated on
size != 0) and accept any BO mapped at the address. On GFX8/GFX9 the MQD
cp_hqd_eop_control is then programmed for an 8KB EOP ring backed by a 4KB
BO, so CP EOP writes can land past the buffer and fault the GPU.

Cast the operand to u64 so the alignment is computed in 64-bit; the size
check in kfd_queue_buffer_get() then rejects the oversized request.

(cherry picked from commit ae443117b742c357bfef3a7bddabf76fcf86e9ef)
Published: 2026-08-15
Score: 7.8 High
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

A 32‑bit overflow in the calculation of the end‑of‑packet (EOP) ring buffer size in the AMD KFD driver allows a user process to supply a size that wraps to zero. The subsequent size check in kfd_queue_buffer_get() is bypassed, enabling the mapping of an arbitrary buffer object (BO) at the requested address. When the GPU accesses this oversized buffer, the CP writes may exceed the allocated 4 KB backing buffer that was configured for an 8 KB ring, potentially corrupting kernel memory or causing a GPU fault. The vulnerability therefore exposes a local user to kernel memory corruption that could lead to privileged escalation or denial of service, depending on exploitation success.

Affected Systems

This weakness exists in the Linux kernel’s drm/amdkfd component, which supports AMD GPUs. No specific kernel revision range is listed, but the issue was fixed in the commit referenced in the advisory; any kernel using a pre‑fix version of the KFD driver is potentially vulnerable.

Risk and Exploitability

The CVSS score of 7.8 indicates a high severity risk, and the EPSS score is <1%. The vulnerability requires local user access to a system with an AMD GPU and the ability to issue KFD API calls. No public exploits are documented and the flaw is not listed in CISA’s KEV catalog. However, the nature of the bug—an unchecked buffer size leading to memory corruption—suggests a high impact if successfully exploited.

Generated by OpenCVE AI on August 21, 2026 at 23:29 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade the Linux kernel to a version that includes the commit fixing the 32‑bit overflow in the EOP ring buffer alignment.
  • If a patch is not yet available, rebuild the AMD KFD driver with 64‑bit alignment logic or disable the KFD subsystem until the kernel update is applied.
  • Monitor kernel logs for GPU fault messages or kernel crashes that may indicate an attempt to exploit this overflow and isolate the affected host if necessary.

Generated by OpenCVE AI on August 21, 2026 at 23:29 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Debian DSA Debian DSA DSA-6466-1 linux security update
History

Fri, 21 Aug 2026 22:30:00 +0000

Type Values Removed Values Added
Weaknesses CWE-119
CWE-190

Fri, 21 Aug 2026 12:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-787
References
Metrics threat_severity

None

threat_severity

Moderate


Mon, 17 Aug 2026 06:00:00 +0000

Type Values Removed Values Added
Metrics cvssV3_1

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


Sat, 15 Aug 2026 16:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-119
CWE-190

Sat, 15 Aug 2026 12:45:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: drm/amdkfd: fix uint32_t overflow in EOP ring buffer size alignment eop_ring_buffer_size in struct queue_properties is a u32. In kfd_queue_acquire_buffers() the expected EOP buffer size is computed as ALIGN(eop_ring_buffer_size, PAGE_SIZE); ALIGN uses typeof(x), so the addition is done in 32-bit. A user-supplied size of 0xFFFFF001 wraps to 0, causing kfd_queue_buffer_get() to skip its exact-size check (gated on size != 0) and accept any BO mapped at the address. On GFX8/GFX9 the MQD cp_hqd_eop_control is then programmed for an 8KB EOP ring backed by a 4KB BO, so CP EOP writes can land past the buffer and fault the GPU. Cast the operand to u64 so the alignment is computed in 64-bit; the size check in kfd_queue_buffer_get() then rejects the oversized request. (cherry picked from commit ae443117b742c357bfef3a7bddabf76fcf86e9ef)
Title drm/amdkfd: fix uint32_t overflow in EOP ring buffer size alignment
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-08-17T05:47:18.735Z

Reserved: 2026-08-15T05:44:03.898Z

Link: CVE-2026-74447

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-08-15T13:17:49.287

Modified: 2026-08-17T06:19:40.513

Link: CVE-2026-74447

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-08-15T00:00:00Z

Links: CVE-2026-74447 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-08-21T23:30:17Z

Weaknesses