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

CVE-2026-43446: Linux Kernel AMDXDNA DoS Vulnerability

CVE-2026-43446 is a denial of service vulnerability in the Linux kernel AMDXDNA accelerator driver caused by runtime suspend deadlock. This article covers the technical details, affected versions, impact, and mitigation.

Published:

CVE-2026-43446 Overview

CVE-2026-43446 is a runtime suspend deadlock vulnerability in the Linux kernel accel/amdxdna driver. The flaw exists in the AMD XDNA accelerator driver, which manages AI Engine (AIE) NPU devices. The runtime suspend callback drains the running job workqueue before suspending the device. If a job is still executing and calls pm_runtime_resume_and_get(), it can deadlock with the runtime suspend path.

The upstream fix moves pm_runtime_resume_and_get() from the job execution routine to the job submission routine. This ensures the device is resumed before the job is queued, preventing the deadlock condition during runtime suspend.

Critical Impact

Local users invoking jobs on the AMD XDNA accelerator can trigger a kernel deadlock, resulting in denial of service on affected systems.

Affected Products

  • Linux kernel versions containing the accel/amdxdna driver prior to the fix
  • Systems with AMD XDNA NPU accelerator hardware enabled
  • Distributions shipping the affected kernel revisions

Discovery Timeline

  • 2026-05-08 - CVE-2026-43446 published to NVD
  • 2026-05-12 - Last updated in NVD database

Technical Details for CVE-2026-43446

Vulnerability Analysis

The vulnerability resides in the AMD XDNA accelerator driver (accel/amdxdna), which manages workload submission to AMD NPU hardware. The driver uses the Linux runtime power management (PM) framework to suspend the device when idle and resume it when work arrives.

The runtime suspend callback drains the running job workqueue prior to powering down the device. However, an in-flight job executing on that workqueue could call pm_runtime_resume_and_get() to request the device remain powered. This creates a circular wait: the suspend path waits for jobs to complete, while a job waits for the suspend operation to finish before it can acquire a runtime PM reference.

The condition manifests as a kernel deadlock affecting both the suspending process and any task interacting with the accelerator. Recovery typically requires a system reboot. This is a kernel-space race condition classified under [CWE-833] Deadlock.

Root Cause

The root cause is incorrect placement of the runtime PM reference acquisition. The original code called pm_runtime_resume_and_get() inside the job execution routine, which runs on the same workqueue that the suspend callback drains. The PM reference should be acquired during job submission, before the work is queued.

Attack Vector

Exploitation requires local access and the ability to submit jobs to the AMD XDNA accelerator device node. A local user with permission to open the accelerator character device can trigger the deadlock by submitting work concurrently with runtime suspend transitions. No special privileges beyond device access are required.

The vulnerability is described in prose only; refer to the Kernel Git Commit Details and Kernel Git Commit Changes for the exact source modifications.

Detection Methods for CVE-2026-43446

Indicators of Compromise

  • Kernel hung task warnings referencing amdxdna functions in dmesg output
  • Processes stuck in uninterruptible sleep (D state) waiting on PM runtime locks
  • Soft lockup messages associated with the accelerator workqueue
  • System unresponsiveness affecting workloads using the AMD NPU device

Detection Strategies

  • Audit running kernel versions against the fixed commits 6b13cb8f48a4 and ac72e7385a2c to identify unpatched hosts
  • Monitor /proc/<pid>/stack for tasks blocked in pm_runtime_resume_and_get and amdxdna workqueue drain functions
  • Enable CONFIG_DETECT_HUNG_TASK and review hung task logs on systems using AMD XDNA hardware

Monitoring Recommendations

  • Forward kernel logs to a centralized logging platform and alert on amdxdna deadlock or hung task signatures
  • Track runtime PM state transitions for the accelerator device through sysfs entries under /sys/devices
  • Correlate accelerator workload failures with system-level PM activity for early detection of recurring deadlocks

How to Mitigate CVE-2026-43446

Immediate Actions Required

  • Apply the upstream kernel patches referenced in the stable tree commits
  • Update to a distribution kernel that incorporates the fix once available
  • Restrict access to the AMD XDNA accelerator device nodes to trusted users only

Patch Information

The fix is available in the Linux stable tree. Reference commits 6b13cb8f48a42ddf6dd98865b673a82e37ff238b and ac72e7385a2c7533dd766de4197134d96230be85. The patch relocates the pm_runtime_resume_and_get() call from the job execution routine to the job submission routine, ensuring the device is resumed before a job is queued.

Workarounds

  • Disable runtime power management on the accelerator device by writing on to the device's power/control sysfs attribute
  • Unload the amdxdna kernel module on systems that do not require NPU acceleration
  • Limit concurrent job submissions during periods of low utilization to reduce the likelihood of triggering the race
bash
# Disable runtime PM for the AMD XDNA accelerator device
echo on | sudo tee /sys/bus/pci/devices/<bdf>/power/control

# Optionally unload the driver if NPU acceleration is not required
sudo modprobe -r amdxdna

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.