KernelScan.io

HIGH Introduced in 2.6.12

amdgpu IsolationIndex OOB

CVE-2026-89814

CVSS 7.8 / 10.0 NVD

CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

KernelScan AI7.8HIGH

01

In the Linux kernel, the following vulnerability has been resolved: drm/amdgpu: clamp the isolation index for rings outside a partition adev->isolation[] has one slot per partition, but a ring that is not assigned to one keeps AMDGPU_XCP_NO_PARTITION, which is ~0, so indexing the array with it is out of bounds. SDMA submissions hit this on both the isolation enforcement and the VM flush path and trip UBSAN. Fall back to the first slot the way the cleaner shader path already does, and stop taking the address before the ring type check that makes it relevant.

02

Engine v0.6.0

Risk summary

A local user with access to an AMD GPU device can trigger an out-of-bounds array access in the amdgpu driver by submitting work to a ring that is not assigned to a partition. This leads to a kernel warning or potential denial of service. The issue requires an AMD GPU with the amdgpu driver loaded.

Affecteddrivers/gpu/drm/amd/amdgpu/amdgpu_device.c (amdgpu)

Vulnerability analysis

When a GPU ring is not assigned to a partition, the driver leaves its partition identifier set to a special "no partition" value. The driver then uses this value as an index into a per-partition array, causing an out-of-bounds access that triggers a kernel warning or crash. This happens during isolation enforcement and memory flush handling for SDMA work submissions. The fix treats unpartitioned rings as belonging to the first array slot, consistent with how the driver already handles shader cleanup, and only performs the array lookup for ring types that actually use isolation. A local user with access to the AMD GPU device can trigger this by submitting GPU work; the system must be using the amdgpu driver with a compatible AMD GPU.

03

BranchIntroducedFixed inPatch commit
6.146.14.96.15964de255497f
6.182.6.126.18.510bfb938182d1
7.22.6.127.2.5b30900566642
mainline2.6.127.3—

04

State of the newest release of each Civil Infrastructure Platform SLTS tree, from CIP's own fix records.

CIP treeState
cip/6.12Affected — no CIP fix yet (latest 6.12.112-cip33)
cip/6.1Affected — no CIP fix yet (latest 6.1.189-cip61)
cip/6.1-rtAffected — no CIP fix yet (latest 6.1.189-cip61-rt32)
cip/5.10Affected — no CIP fix yet (latest 5.10.271-cip78)
cip/5.10-rtAffected — no CIP fix yet (latest 5.10.268-cip77-rt34)
cip/4.19Affected — no CIP fix yet (latest 4.19.325-cip136)
cip/4.19-rtAffected — no CIP fix yet (latest 4.19.325-cip136-rt50)
cip/4.4Affected — no CIP fix yet (latest 4.4.302-cip115)
cip/4.4-rtAffected — no CIP fix yet (latest 4.4.302-cip115-rt63)