Skip to main content
CVE Vulnerability Database
Vulnerability Database/CVE-2026-68103

CVE-2026-68103: Linux Kernel Privilege Escalation Flaw

CVE-2026-68103 is a privilege escalation vulnerability in the Linux kernel's AMD GPU driver that allows doorbell mapping overwrites. This article covers the technical details, affected versions, impact, and mitigation.

Published:

CVE-2026-68103 Overview

CVE-2026-68103 is a Linux kernel vulnerability in the AMD GPU driver (drm/amdgpu) related to improper handling of user-queue doorbell mappings. The flaw allows a local user to overwrite an existing queue's doorbell mapping by supplying the same buffer object (BO) handle and offset when creating a new user-queue. The driver used xa_store_irq() to register doorbells, which silently replaced existing entries rather than rejecting duplicates. Exploitation can misroute fence interrupt request (IRQ) processing to the wrong queue and cause queue cleanup routines to erase mappings belonging to unrelated queues.

Critical Impact

A local attacker with GPU access can corrupt kernel-managed queue state, disrupting workloads and compromising integrity of GPU command scheduling.

Affected Products

  • Linux kernel versions containing the drm/amdgpu user-queue doorbell mapping code prior to the fix
  • Systems using AMD GPUs with the amdgpu kernel driver
  • Distributions shipping stable kernels prior to the patched commits

Discovery Timeline

  • 2026-08-10 - CVE-2026-68103 published to NVD
  • 2026-08-13 - Last updated in NVD database

Technical Details for CVE-2026-68103

Vulnerability Analysis

The vulnerability resides in the AMD GPU direct rendering manager (DRM) driver's user-queue creation path. When user space creates a user-queue, it supplies a doorbell BO handle and an offset within that BO to obtain a doorbell slot. The driver stored the resulting mapping in an XArray using xa_store_irq(), which unconditionally overwrites any existing entry at the given index.

This behavior lets a subsequent queue creation with the same BO handle and offset silently replace an existing doorbell-to-queue mapping. Once overwritten, fence IRQ delivery routes to the newer queue rather than the legitimate owner. When either queue is torn down, the cleanup code walks the XArray and erases the shared entry, invalidating the other queue's doorbell mapping.

The fix replaces xa_store_irq() with xa_insert_irq(), which returns -EBUSY when the index is already populated. This rejects any attempt to remap a reserved doorbell to a newly created queue.

Root Cause

The root cause is missing collision detection during doorbell registration. The driver assumed exclusive ownership of a BO/offset pair without enforcing it in the storage primitive. This is a kernel driver logic flaw affecting resource lifetime and ownership tracking.

Attack Vector

Exploitation requires local access with permission to open the amdgpu device and submit user-queue creation ioctls. An attacker crafts two queue-creation requests referencing the same doorbell BO handle and offset. The second request overwrites the first mapping, enabling IRQ misrouting and cross-queue cleanup corruption. The vulnerability affects integrity and availability of GPU command scheduling.

No verified public exploit code is available. See the Linux Kernel Commit Log for technical details on the fix.

Detection Methods for CVE-2026-68103

Indicators of Compromise

  • Unexpected GPU workload failures, hangs, or fence timeouts on systems using amdgpu
  • Kernel log entries referencing amdgpu user-queue creation errors or fence IRQ anomalies
  • Processes repeatedly creating user-queues with identical doorbell BO handles and offsets

Detection Strategies

  • Audit kernel version and amdgpu driver commit level against the fixed commits 1050d258c7c5 and a609b6278bf3
  • Monitor dmesg output for amdgpu queue creation warnings and fence delivery errors
  • Correlate GPU workload crashes with process activity performing repeated DRM_IOCTL_AMDGPU_USERQ calls

Monitoring Recommendations

  • Collect kernel logs centrally and alert on amdgpu subsystem errors and IRQ routing anomalies
  • Track user-space processes that open /dev/dri/renderD* and issue user-queue ioctls
  • Baseline normal GPU workload behavior and flag unexpected queue teardowns

How to Mitigate CVE-2026-68103

Immediate Actions Required

  • Apply the upstream kernel patches referenced in the stable tree commits 1050d258c7c5 and a609b6278bf3
  • Update to a distribution kernel that includes the fix once available from your vendor
  • Restrict access to the amdgpu render nodes to trusted local users only

Patch Information

The fix replaces xa_store_irq() with xa_insert_irq() in the amdgpu user-queue doorbell registration path, causing duplicate BO handle and offset combinations to be rejected. The change was cherry-picked from mainline commit 6244eae22966350db52faf9c1369d3b2ffc5de4e. See the Linux Kernel Commit Log for the backported patch.

Workarounds

  • Limit membership in the render and video groups to trusted users on multi-user systems
  • Deploy mandatory access control policies (SELinux, AppArmor) to restrict which processes can access amdgpu device nodes
  • On shared or multi-tenant systems where patching is delayed, consider disabling user-queue submission features until the kernel is updated
bash
# Verify installed kernel version and check for the fix
uname -r
zcat /proc/config.gz | grep CONFIG_DRM_AMDGPU
# Restrict render node access to a specific trusted group
sudo chgrp trusted-gpu /dev/dri/renderD128
sudo chmod 660 /dev/dri/renderD128

Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

Default Legacy - Prefooter | Experience the World’s Most Advanced Cybersecurity Platform

Experience the Most Advanced Cybersecurity Platform

See how the world’s most intelligent, autonomous cybersecurity platform can protect your organization today and into the future.