Description
In the Linux kernel, the following vulnerability has been resolved:

accel/rocket: fix UAF via dangling GEM handle in create_bo

rocket_ioctl_create_bo() inserts a GEM handle into the file's IDR via
drm_gem_handle_create() early on, then performs several operations that
can fail (sgt allocation, drm_mm insert, iommu_map). If any fail after
the handle is live, the error path calls drm_gem_shmem_object_free()
which kfree's the object without removing the handle from the IDR.

This leaves a dangling handle pointing to freed slab memory. Any
subsequent ioctl using that handle (PREP_BO, FINI_BO, SUBMIT) calls
drm_gem_object_lookup() and dereferences freed memory (UAF).

Fix by moving drm_gem_handle_create() to after all fallible operations
succeed, matching the pattern used by panfrost, lima, and etnaviv.

Also fix drm_mm_insert_node_generic() whose return value was silently
overwritten by iommu_map_sgtable() on the next line. Add the missing
error check.

[tomeu: Move handle creation to the very end]
Published: 2026-07-19
Score: 7.8 High
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

In the Linux kernel, the rocket graphics acceleration driver contains a use‑after‑free flaw that arises when a GEM handle is inserted into the IDR before all resources are successfully allocated. If allocation or mapping fails after the handle is live, the handle is freed while still referenced, leaving a dangling reference. Later ioctl requests that look up the handle dereference freed memory, which can cause kernel crashes or allow execution of arbitrary code. This weakness is classified as CWE‑825.

Affected Systems

All Linux distributions that ship the rocket driver in the kernel before the patch are affected. The vulnerability exists in any kernel version where the driver has not been updated to perform handle creation only after all operations succeed.

Risk and Exploitability

The CVSS score of 7.8 indicates a high severity, the EPSS score of < 1% suggests a low exploitation likelihood, and the flaw is not listed in the CISA KEV catalog. According to the description, the flaw is triggered by an ioctl sequence that results in a failed buffer‑creation and subsequent lookup of the freed GEM handle. The requirement of local interaction with the DRM device is not explicitly stated but can be inferred from the need to invoke the ioctl. After the patch, the handle creation order is corrected, removing the dangling reference and thereby preventing exploitation via this path.

Generated by OpenCVE AI on August 4, 2026 at 06:15 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Update the Linux kernel to a version that contains the patch fixing the rocket GEM handle creation order.
  • Disable the rocket driver if GPU acceleration is not required or not used.
  • Restrict access to the DRM device by enforcing proper user rights or RBAC.

Generated by OpenCVE AI on August 4, 2026 at 06:15 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Ubuntu USN Ubuntu USN USN-8593-1 Linux kernel vulnerabilities
Ubuntu USN Ubuntu USN USN-8603-1 Linux kernel (Azure) vulnerabilities
Ubuntu USN Ubuntu USN USN-8618-1 Linux kernel vulnerabilities
History

Sun, 26 Jul 2026 08:30:00 +0000

Type Values Removed Values Added
Weaknesses CWE-416

Wed, 22 Jul 2026 00:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-825
References
Metrics threat_severity

None

threat_severity

Important


Tue, 21 Jul 2026 23:00:00 +0000

Type Values Removed Values Added
Weaknesses CWE-416

Mon, 20 Jul 2026 14:45:00 +0000

Type Values Removed Values Added
Metrics cvssV3_1

{'score': 7.8, 'vector': 'CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H'}


Sun, 19 Jul 2026 15:30:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: accel/rocket: fix UAF via dangling GEM handle in create_bo rocket_ioctl_create_bo() inserts a GEM handle into the file's IDR via drm_gem_handle_create() early on, then performs several operations that can fail (sgt allocation, drm_mm insert, iommu_map). If any fail after the handle is live, the error path calls drm_gem_shmem_object_free() which kfree's the object without removing the handle from the IDR. This leaves a dangling handle pointing to freed slab memory. Any subsequent ioctl using that handle (PREP_BO, FINI_BO, SUBMIT) calls drm_gem_object_lookup() and dereferences freed memory (UAF). Fix by moving drm_gem_handle_create() to after all fallible operations succeed, matching the pattern used by panfrost, lima, and etnaviv. Also fix drm_mm_insert_node_generic() whose return value was silently overwritten by iommu_map_sgtable() on the next line. Add the missing error check. [tomeu: Move handle creation to the very end]
Title accel/rocket: fix UAF via dangling GEM handle in create_bo
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-08-05T12:38:08.050Z

Reserved: 2026-07-19T07:54:57.026Z

Link: CVE-2026-64008

cve-icon Vulnrichment

No data.

cve-icon NVD

No data.

cve-icon Redhat

Severity : Important

Publid Date: 2026-07-19T00:00:00Z

Links: CVE-2026-64008 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-08-04T06:30:05Z

Weaknesses
  • CWE-825

    Expired Pointer Dereference