HIGH Introduced in 4.2
amdgpu UvdMsg Overflow
CVE-2026-80909
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
01Description
In the Linux kernel, the following vulnerability has been resolved: drm/amdgpu: Reject UVD message with invalid number of h265 refs Same change as for h264, avoids overflow later when calculating min dpb size. (cherry picked from commit a4b0720e4f1601f97f59a2be9c1b4b94fa6527d5)
02KernelScan AI Analysis
Risk summary
A local user with access to an AMD GPU device node can submit a crafted H.265 video decode message with an excessive reference count, causing an integer overflow in buffer size validation. This can lead to out-of-bounds writes to GPU memory, resulting in memory corruption, potential information disclosure, or a kernel panic. Systems without AMD GPUs or without GPU access for unprivileged users are not affected.
Vulnerability analysis
When the AMD GPU UVD driver processes an H.265 video decode command, it derives a buffer count from a user-supplied message field without checking that the value is within the H.265 specification limit. An excessively large count causes an integer overflow when multiplied by the frame image size, producing a deceptively small minimum buffer size that passes the driver's validation. The subsequent decode operation can then write beyond the allocated GPU buffer, corrupting memory. The fix adds a bounds check that rejects any reference count exceeding the specification maximum before the size calculation is performed. This path is reachable locally by any user with access to the AMD GPU DRM device node, which on many systems is available to non-root users through render device permissions.
Lifecycle
03Fix Versions
| Branch | Introduced | Fixed in | Patch commit |
|---|---|---|---|
| 5.10 | 4.2 | 5.10.266 | 1facad2a78c1 |
| 5.15 | 4.2 | 5.15.217 | 499907e5d46e |
| 6.1 | 4.2 | 6.1.184 | cbf1c84bf5ca |
| 6.12 | 4.2 | 6.12.105 | 2abcdc5f7385 |
| 6.18 | 4.2 | 6.18.46 | e304c3e0d9ce |
| 6.6 | 4.2 | 6.6.153 | a930c54cb672 |
| 7.1 | 4.2 | 7.1.10 | 0acdf1a575f5 |
| mainline | 4.2 | 7.2 | 9fca434208f1 |
| cip/4.19 | 4.2 | 4.19.325-cip136 | 5bdd72a2459a |
| cip/4.19-rt | 4.2 | 4.19.325-cip136-rt50 | 5bdd72a2459a |
| cip/4.4 | 4.2 | 4.4.302-cip115 | 79db815be5fe |
| cip/4.4-rt | 4.2 | 4.4.302-cip115-rt63 | 79db815be5fe |
| cip/5.10 | 4.2 | 5.10.268-cip77 | 1facad2a78c1 |
| cip/5.10-rt | 4.2 | 5.10.268-cip77-rt34 | 1facad2a78c1 |
| cip/6.1 | 4.2 | 6.1.187-cip60 | cbf1c84bf5ca |
| cip/6.1-rt | 4.2 | 6.1.189-cip61-rt32 | cbf1c84bf5ca |
| cip/6.12 | 4.2 | 6.12.108-cip31 | 2abcdc5f7385 |
04CIP Kernels
State of the newest release of each Civil Infrastructure Platform SLTS tree, from CIP's own fix records.
| CIP tree | State |
|---|---|
| cip/6.12 | Fixed in 6.12.108-cip31 |
| cip/6.1 | Fixed in 6.1.187-cip60 |
| cip/6.1-rt | Fixed in 6.1.189-cip61-rt32 |
| cip/5.10 | Fixed in 5.10.268-cip77 |
| cip/5.10-rt | Fixed in 5.10.268-cip77-rt34 |
| cip/4.19 | Fixed in 4.19.325-cip136 |
| cip/4.19-rt | Fixed in 4.19.325-cip136-rt50 |
| cip/4.4 | Fixed in 4.4.302-cip115 |
| cip/4.4-rt | Fixed in 4.4.302-cip115-rt63 |