Skip to main content
VulnerabilityPublished

CVE-2026-99106: Linux kernel · drm/amdgpu: free the userptr ranges when a CS fails after parser_bos

Affects Linux kernelSource CVE Database V5

0

Not known to be exploited · fixed in 6ac46ae5ac561d4fc7d4246ad83d71bed0d9af9a : update Linux kernel when convenient.

Data as of 28 Oct 2026, 10:58 UTC

Severity
Unrated

Rated by Threat Radar · CVSS not yet scored by NVD

Patch
Available – fixed in 6ac46ae5ac561d4fc7d4246ad83d71bed0d9af9a, 2d9d24385201f476a2f754495b71bbac5ba6ea7b, 1b4da805a0ba354a549ce07459c871c17dd94fe0

Exploitation evidence

  1. Disclosed: evidence found.

    CVE published 28 Oct 2026

  2. Detectable: no evidence on record.

    No public nuclei template indexed

  3. Weaponised: no evidence on record.

    No public exploit code indexed in Metasploit or Exploit-DB

  4. Exploited in the wild: no evidence on record.

    Not in CISA KEV and no source reports exploitation

  5. Observed by OffSeq Mirage: no evidence on record.

    No attack traffic recorded by OffSeq Mirage sensors

A missing step is not evidence of safety. Sources: cve.org (opens in a new tab), the Metasploit, Exploit-DB and nuclei-templates index as of 26 Oct 2026.

What to do

Upgrade Linux kernel to 6ac46ae5ac561d4fc7d4246ad83d71bed0d9af9a, 2d9d24385201f476a2f754495b71bbac5ba6ea7b or 1b4da805a0ba354a549ce07459c871c17dd94fe0.

Affected software

ProductAffectedFixed in
LinuxLinuxAffected
  • ≥ fec8fdb54e8f74d88951c9f998f47bf4f2031fe0, < 6ac46ae5ac561d4fc7d4246ad83d71bed0d9af9a
Fixed in
  • 6ac46ae5ac561d4fc7d4246ad83d71bed0d9af9a
LinuxLinuxAffected
  • ≥ fec8fdb54e8f74d88951c9f998f47bf4f2031fe0, < 2d9d24385201f476a2f754495b71bbac5ba6ea7b
Fixed in
  • 2d9d24385201f476a2f754495b71bbac5ba6ea7b
LinuxLinuxAffected
  • ≥ fec8fdb54e8f74d88951c9f998f47bf4f2031fe0, < 1b4da805a0ba354a549ce07459c871c17dd94fe0
Fixed in
  • 1b4da805a0ba354a549ce07459c871c17dd94fe0
LinuxLinuxAffected
  • =6.2
Fixed in–

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)

References

Community reviews

Loading reviews…