CVE-2026-68273 Overview
CVE-2026-68273 is a Linux kernel vulnerability in the AMD GPU driver (drm/amdgpu) affecting context pstate override handling. The flaw stems from amdgpu_ctx_init() not holding the adev->pm.stable_pstate_ctx_lock during context initialization. This lock is used elsewhere by both sysfs handlers and the context code itself to modify and clear the stored context pointer. The missing lock creates conditions for use-after-free and NULL pointer dereferences. A secondary issue allows context teardown to overwrite pstate configuration set through sysfs, corrupting GPU power state on shared systems.
Critical Impact
Local authenticated users on affected Linux systems with AMD GPUs can trigger use-after-free or NULL pointer dereferences, resulting in kernel memory corruption, denial of service, or potential local privilege escalation.
Affected Products
- Linux kernel builds including the drm/amdgpu driver prior to the fix commit 1b5e413713c0
- Distributions shipping stable Linux kernels that have not yet backported the fix
- Systems using AMD discrete GPUs with pstate override functionality exposed through sysfs
Discovery Timeline
- 2026-08-10 - CVE-2026-68273 published to NVD
- 2026-08-13 - Last updated in NVD database
Technical Details for CVE-2026-68273
Vulnerability Analysis
The vulnerability resides in the AMD GPU Direct Rendering Manager (DRM) driver code responsible for tracking per-context GPU performance state (pstate) overrides. The Linux kernel exposes pstate control both through sysfs and through per-context ioctl paths. Both entry points can modify a shared pointer that tracks which context currently owns the pstate override.
During context initialization, amdgpu_ctx_init() reads and writes state related to ctx->stable_pstate without acquiring adev->pm.stable_pstate_ctx_lock. Concurrent sysfs writers or other context operations can free or replace the tracked pointer while amdgpu_ctx_init() is still using it. This produces a use-after-free window and, in cases where the pointer is cleared, a NULL pointer dereference in kernel context.
The context fini path introduces a second defect. The restore value stored in ctx->stable_pstate is captured at context creation time rather than when the context actually asserts an override. On exit, the context unconditionally restores this stale value, trampling any pstate configured through sysfs after context creation.
Root Cause
The root cause is missing lock discipline around adev->pm.stable_pstate_ctx_lock. Ownership of the override state was not clearly defined, and save-and-restore semantics captured state at the wrong point in the context lifecycle. Local attackers with GPU access can race context creation against sysfs pstate writes to trigger memory corruption.
Attack Vector
Exploitation requires local access with permission to open the AMD GPU device node, which is typically available to any logged-in user with a graphical session or GPU compute access. An attacker races repeated context creation ioctls against sysfs pstate writes on /sys/class/drm/card*/device/power_dpm_force_performance_level or related knobs. The unsynchronized pointer update produces a use-after-free that can be shaped for kernel information disclosure, denial of service, or privilege escalation. See the kernel git commit 1b5e413713c0 for the corrective patch.
Detection Methods for CVE-2026-68273
Indicators of Compromise
- Kernel oops or panic messages referencing amdgpu_ctx_init, amdgpu_ctx_fini, or stable_pstate_ctx_lock in dmesg and /var/log/kern.log
- KASAN reports flagging use-after-free reads or writes within the amdgpu module
- Unexpected GPU performance state changes on multi-user or shared workstations where pstate was previously fixed via sysfs
Detection Strategies
- Enable Kernel Address Sanitizer (KASAN) on test kernels to surface the race condition during fuzzing of amdgpu ioctls
- Monitor kernel ring buffer for BUG:, WARNING:, or general protection fault entries originating from drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c
- Correlate GPU driver crashes with concurrent writes to sysfs pstate attributes and process context creation activity
Monitoring Recommendations
- Ship dmesg and /var/log/kern.log to a central log store and alert on repeated amdgpu faults from the same user session
- Audit access to /dev/dri/renderD* and sysfs pstate files, particularly on multi-tenant systems and CI/build hosts
- Track kernel version and amdgpu module version across the fleet to identify unpatched hosts running AMD GPUs
How to Mitigate CVE-2026-68273
Immediate Actions Required
- Update to a Linux kernel that includes the fix from upstream commit 1b5e413713c0a93bc1818394d0ce49aaad21bd27 or its stable backports referenced in the NVD entry
- Inventory hosts running AMD GPUs, including workstations, ML training nodes, and virtualization hypervisors passing GPUs to guests
- Prioritize patching of multi-user Linux systems where local users can open the amdgpu device
Patch Information
The fix simplifies pstate ownership tracking. It defines explicit points at which a context takes and releases the override, captures the previous state only when an override is asserted, and performs all transitions under adev->pm.stable_pstate_ctx_lock. The restore on context exit runs only if the context still owns the current override. Stable backports are available at commit 23a8726e, commit 9f9c88eb, commit c1dc4ccb, and commit e06c39cc.
Workarounds
- Restrict access to /dev/dri/renderD* and /dev/dri/card* to trusted users using group permissions until the kernel is patched
- Avoid exposing sysfs pstate controls to unprivileged users and remove write access to power_dpm_force_performance_level for non-admin accounts
- On systems that do not require pstate overrides, avoid triggering context pstate changes from userspace GPU workloads
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

