Unscored severity · published Oct 28, 2026
CVE-2026-99106
drm/amdgpu: free the userptr ranges when a CS fails after parser_bos
New
–
CVSS
–
EPSS
No
On KEV
Description
In the Linux kernel, the following vulnerability has been resolved:
drm/amdgpu: free the userptr ranges when a CS fails after parser_bos
amdgpu_cs_parser_bos() allocates an HMM range for every userptr entry of
the BO list and looks up the user pages. Those ranges are only freed when
amdgpu_cs_parser_bos() itself fails or when amdgpu_cs_submit() checks
them under the notifier lock. If amdgpu_cs_patch_jobs(),
amdgpu_cs_vm_handling(), amdgpu_cs_sync_rings() or the early part of
amdgpu_cs_submit() fails, nothing frees them: neither
amdgpu_cs_parser_fini() nor amdgpu_bo_list_free() touch e->range.
Each such CS then leaks the range, its hmm_pfns array (8 bytes per page
of the userptr BO) and the BO reference the range holds. An IB on a ring
that patches the CS in place (e.g. VCN) with an unmapped va_start fails
in amdgpu_cs_patch_ibs() and takes this path.
Free the ranges on those error paths. Ranges amdgpu_cs_submit() already
dropped are NULL, so freeing them again is a no-op.
(cherry picked from commit c52a9542ed7cfd527feb938bd0accada2ac8d267)
Exploitation
Is it being used?
Exploited in the wildNo evidence yet
CISA KEVNot listed
Ransomware campaign useNot known
Affected products
Which versions
LI
Linux · Linux
fec8fdb54e8f74d88951c9f998f47bf4f2031fe0 before 6ac46ae5ac561d4fc7d4246ad83d71bed0d9af9a; fec8fdb54e8f74d88951c9f998f47bf4f2031fe0 before 2d9d24385201f476a2f754495b71bbac5ba6ea7b; fec8fdb54e8f74d88951c9f998f47bf4f2031fe0 before 1b4da805a0ba354a549ce07459c871c17dd94fe0; 6.2 · source: vendor
References
NVD
https://nvd.nist.gov/vuln/detail/CVE-2026-99106
CVE.org
https://www.cve.org/CVERecord?id=CVE-2026-99106
git.kernel.org
https://git.kernel.org/stable/c/6ac46ae5ac561d4fc7d4246ad83d71bed0d9af9a
git.kernel.org
https://git.kernel.org/stable/c/2d9d24385201f476a2f754495b71bbac5ba6ea7b
git.kernel.org
https://git.kernel.org/stable/c/1b4da805a0ba354a549ce07459c871c17dd94fe0
More from Linux
9.8
CVE-2025-39682
tls: fix handling of zero-length records on the rx_list
8.8
CVE-2026-53266
netfilter: bridge: make ebt_snat ARP rewrite writable
7.8
CVE-2026-53362
ipv6: account for fraggap on the paged allocation path
7.8
CVE-2026-31431
crypto: algif_aead - Revert to operating out-of-place
7.8
CVE-2025-38352
posix-cpu-timers: fix race between handle_posix_cpu_timers() and posix_cpu_timer_del()
