CVE-2026-72090
CVE-2026-72090 is an authorization bypass in the AMD XDNA GPU driver (amdxdna) where the ioctl handler incorrectly uses a buffer object's stored client pointer instead of the caller's file context for authorization checks. This allows a local attacker to manipulate hardware context state belonging to another process. The vulnerability lives in amdxdna_hwctx_sync_debug_bo(), which receives a client pointer and uses it for two distinct authorization operations: namespace resolution for a debug buffer object handle and authorization against the hardware context xarray. The ioctl handler passes abo->client — the client that originally created the buffer object — rather than filp->driver_priv, which represents the caller's actual file context. These two identities don't necessarily match, and the function performs no validation that they align. The practical impact extends beyond simple memory corruption. Since the hardware context xarray tracks GPU state for all clients sharing a device, successful exploitation could corrupt render state visible to other processes, inject commands into another client's GPU workload, or trigger use-after-free conditions on stale hardware resources. The blast radius is everyone using the affected GPU simultaneously, not just the attacker's process. The fix — substituting filp->driver_priv for abo->client — is technically correct but surgically narrow. The real concern is the function signature itself: accepting a client pointer for authorization-adjacent operations creates a cognitive trap. Future developers working within object scope will naturally reach for stored object state rather than track ioctl context, just as this bug arose. Check all callers of amdxdna_hwctx_sync_debug_bo() for similar mismatches. More importantly, audit similar patterns elsewhere in the driver where object state might leak into authorization decisions that should be governed purely by file context. This bug class has appeared repeatedly in DRM drivers over the past decade — the Nouveau driver (CVE-2022-31009) and multiple i915 CVEs exhibit the same handle-lookup-versus-file-context failure. The pattern is structural, not accidental.
Reviewed through automated stages and approved by a human before publication.