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

Published Oct 28, 2026
·
Updated

drm/amdgpu: free the userptr ranges when a CS fails after parserbos

Affected Software

1 affected component
Linux Linux kernel

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade linux/Kernel to a version that resolves this vulnerability.

    Fixed in 6.18.59
  2. Upgrade

    Upgrade linux/Kernel to a version that resolves this vulnerability.

    Fixed in 7.2.13
  3. Upgrade

    Upgrade debian/linux to a version that resolves this vulnerability.

    Fixed in 6.1.176-1Fixed in 6.1.190-1Fixed in 7.2.13-1
  4. Upgrade

    Upgrade Linux kernel drm/amdgpu to a version that resolves this vulnerability.

    Patch c52a9542ed7cfd527feb938bd0accada2ac8d267

Event History

Oct 28, 2026
CVE Published
via OSV·12:00 AM
Data Sourced
via OSV·12:00 AM
DescriptionSeverityAffected Software
CVE Published
via MITRE·10:34 AM
Data Sourced
via MITRE·10:34 AM
Description
Data Sourced
via NVD·11:17 AM
Description
Oct 29, 2026
Data Sourced
via Microsoft·08:03 AM
DescriptionSeverityWeakness

Frequently Asked Questions

1

Who is exposed to this issue?

Systems using the Linux kernel amdgpu DRM driver are exposed when they process command submissions containing userptr buffer objects. The described failure case includes an IB on a ring that patches command submissions in place, such as VCN, with an unmapped va_start.

2

What does successful triggering cause?

Each affected command-submission failure leaks an HMM range, its hmm_pfns array, and a buffer-object reference held by the range. The hmm_pfns allocation consumes 8 bytes per page of the userptr buffer object, so repeated failures can accumulate memory and references.

3

What conditions are needed to reach the leak?

amdgpu_cs_parser_bos() must successfully allocate and populate ranges for userptr entries, followed by a failure in amdgpu_cs_patch_jobs(), amdgpu_cs_vm_handling(), amdgpu_cs_sync_rings(), or the early portion of amdgpu_cs_submit(). A specifically described path is failure in amdgpu_cs_patch_ibs() caused by an unmapped va_start on a ring that patches the submission in place.

4

How is the issue fixed?

The fix frees userptr ranges on the affected error paths. Ranges already released by amdgpu_cs_submit() are NULL, so attempting to free them again is a no-op.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203