KernelScan.io

HIGH Introduced in 4.2

amdgpu UVD DpbSize Overflow

CVE-2026-80907

CVSS 7.8 / 10.0 KernelScan AI

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

01

In the Linux kernel, the following vulnerability has been resolved: drm/amdgpu: Fix UVD dpb min size calculation for H264 This should use actual number of references from the decode message, instead of maximum derived from level. (cherry picked from commit 64b525edb7e7bdfcdc77883c5e413804e2396856)

02

Engine v0.6.0

Risk summary

A local user with GPU access can submit a crafted H.264 decode message to the AMDGPU UVD engine that causes the kernel to compute an incorrect (too small) minimum DPB buffer size, leading to out-of-bounds writes in GPU memory-managed kernel buffers. This can corrupt kernel memory and potentially escalate privileges or crash the system. The bug requires an AMD GPU with UVD support and local access to the DRM device.

Affecteddrivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c (amdgpu UVD driver)

Vulnerability analysis

The UVD H.264 decode path computed the number of reference picture buffers from a table keyed by the H.264 level in the decode message, then clamped the result to a maximum of 17. An attacker can supply a decode message whose actual reference count (now read from the message) exceeds what the level-based table assumed, so the kernel allocates a buffer that is too small for the number of references the hardware will write. The fix replaces the level-derived estimate with the actual reference count from the decode message and rejects messages with more than 17 references instead of silently clamping, ensuring the allocated buffer always matches what the hardware uses. The vulnerable path is reached through the AMDGPU DRM device by a local process that can submit a video decode command; it requires access to the GPU render node and an AMD GPU with UVD support.

03

BranchIntroducedFixed inPatch commit
6.124.26.12.10533f4ef585368
6.184.26.18.4638914cb2c6af
6.64.26.6.153fa96c2448594
7.14.27.1.10ff4361816b6b
mainline4.27.221a8084cd762
cip/6.124.26.12.108-cip3133f4ef585368

04

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

CIP treeState
cip/6.12Fixed in 6.12.108-cip31
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)