HIGH 8.8

CVE-2026-53053: Linux AMD IOMMU Device Isolation Bypass Vulnerability

A flaw in AMD IOMMU (Input/Output Memory Management Unit) support within the Linux kernel can cause incorrect device isolation when handling PCI device aliases. The vulnerability stems from clone_alias() receiving the wrong device identifier, leading to stale or incorrect memory translation entries being copied to aliased devices. This breaks the isolation guarantees that IOMMUs provide, potentially allowing one device to access memory intended for another. The issue is present in how the kernel decides which device information to use when setting up DMA aliases across PCIe topologies.

Source data · NVD / CISA · public domain

CVSS
3.1 · 8.8 HIGH · CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H
Weaknesses (CWE)
Affected products
1 configuration(s)
Published / Modified
2026-06-24 / 2026-07-21

NVD description (verbatim)

In the Linux kernel, the following vulnerability has been resolved: iommu/amd: Fix clone_alias() to use the original device's devid Currently clone_alias() assumes first argument (pdev) is always the original device pointer. This function is called by pci_for_each_dma_alias() which based on topology decides to send original or alias device details in first argument. This meant that the source devid used to look up and copy the DTE may be incorrect, leading to wrong or stale DTE entries being propagated to alias device. Fix this by passing the original pdev as the opaque data argument to both the direct clone_alias() call and pci_for_each_dma_alias(). Inside clone_alias(), retrieve the original device from data and compute devid from it.

4 reference(s) · View on NVD →

SEC.co analysis · AI-assisted, reviewed against source

Technical summary

The vulnerability exists in the Linux kernel's AMD IOMMU implementation, specifically in the clone_alias() function used during DMA alias initialization. When pci_for_each_dma_alias() iterates through device aliases based on PCIe topology, it may pass either the original device or an alias device as the first argument to clone_alias(). The current code incorrectly assumes this argument is always the original device and derives the source Device Table Entry (DTE) lookup from it. However, when an alias device is passed instead, the derived device ID (devid) becomes incorrect, causing stale or wrong DTE entries to be propagated to the alias device. The fix involves passing the original device pointer as opaque data to both the direct clone_alias() call and to pci_for_each_dma_alias(), then extracting the original device from that data within clone_alias() to ensure devid computation is always based on the correct device.

Business impact

This vulnerability can undermine a key security boundary in systems using AMD IOMMU protection. Device isolation—preventing one peripheral from accessing another's memory—is essential in multi-tenant environments, containers, VMs, and systems handling sensitive workloads. Incorrect DTE propagation allows a compromised or malicious device (or one controlled by a local attacker) to potentially access memory regions that should be isolated from it. The practical impact depends on the PCIe topology, the presence of device aliases, and the capabilities of the attacker's device; however, the violation of memory isolation guarantees represents a significant confidentiality and integrity risk, particularly in cloud infrastructure and shared-device scenarios.

Affected systems

The vulnerability affects all Linux kernel versions with AMD IOMMU support in the iommu/amd subsystem. This includes systems running on AMD x86-64 platforms (EPYC, Ryzen with IOMMU) where the kernel is compiled with IOMMU support enabled and AMD IOMMU driver initialized. Systems without AMD IOMMU support or with IOMMU disabled in BIOS/UEFI are not affected. The vulnerability is present in the mainline kernel and stable branches until patched. Affected distributions include any that ship the vulnerable kernel code, particularly server-grade Linux distributions commonly used in cloud and data center environments.

Exploitability

Exploiting this vulnerability requires local access to the system and the ability to control or interact with a PCIe device that has DMA aliases. The CVSS vector (AV:L/AC:L/PR:L/UI:N/S:C) reflects that an unprivileged local user can trigger the issue without user interaction and with low complexity. However, the practical attack surface depends on the attacker's ability to (1) identify or provision a device with the right topology to trigger alias handling, and (2) leverage the resulting memory isolation bypass. In typical server deployments, guest VM scenarios, or container hosts where unprivileged users have device access, the exploitability is elevated. Public exploit code is not known, and the fix suggests this is a logic error rather than a memory corruption flaw that would yield immediate code execution.

Remediation

Apply a patched Linux kernel that includes the fix to clone_alias() in the AMD IOMMU driver. The remedy requires recompiling the kernel or obtaining a patched kernel image from your distribution. Verify that your vendor has released a kernel update addressing this CVE. Until patched, mitigations include: disabling AMD IOMMU if it is not required for your workload, restricting unprivileged user access to DMA-capable devices, isolating untrusted workloads to separate systems, and monitoring for unauthorized memory access patterns if forensic analysis is feasible. Note that disabling IOMMU reduces a critical security boundary and should only be considered a temporary holding action.

Patch guidance

Obtain the patched kernel from your Linux distribution's security advisory or from kernel.org. Verify the patch includes the fix to clone_alias() in drivers/iommu/amd/iommu.c or the equivalent path in your kernel tree. The patch should ensure that clone_alias() always extracts the original device pointer from the opaque data argument passed by pci_for_each_dma_alias(), rather than assuming the first argument is always the original device. Test the patched kernel in a non-production environment first, particularly on systems using AMD IOMMU with complex PCIe device topologies. After kernel upgrade and reboot, confirm IOMMU is still functioning as intended and device isolation is restored. Plan the update for a maintenance window to minimize downtime.

Detection guidance

Detection of exploitation is challenging without specialized IOMMU error logging. Enable AMD IOMMU event logging in the kernel (amd_iommu_init_pci with event logging enabled) to monitor for DTE mismatches or unexpected device memory access denials. Look for kernel logs containing 'IOMMU: ' error messages that may indicate failed address translations. Host-based detection is limited; however, unexplained page faults or DMA errors in device drivers, especially when multiple devices are present, may indicate exploitation. Network-based detection is not feasible. Consider running a kernel test to verify the original vulnerability is not present: on a patched system, the device table should correctly reflect original device IDs in alias lookups. For forensic investigation, capture kernel dmesg logs and IOMMU event logs immediately after any suspected unauthorized device memory access.

Why prioritize this

This vulnerability should be prioritized for patching in any environment where AMD IOMMU is active and unprivileged users have access to DMA-capable devices. High-priority systems include: cloud infrastructure (AWS, Azure, GCP instances on AMD), Kubernetes nodes with GPU or FPGA passthrough, multi-tenant hypervisors, and systems supporting device virtualization. The CVSS score of 8.8 (HIGH) reflects high confidentiality, integrity, and system impact combined with local attack vector and low privilege requirements. Although KEV status is not yet active, the logic flaw and the security boundary violation warrant urgent patching in production environments. Lower priority for systems where IOMMU is disabled, where users are fully trusted, or where no device aliases exist in the PCIe topology.

Risk score, explained

The CVSS v3.1 score of 8.8 (HIGH) is assigned as follows: Attack Vector (AV:L) reflects local-only access requirement; Attack Complexity (AC:L) indicates no special conditions are needed; Privileges Required (PR:L) shows an unprivileged local user can trigger it; User Interaction (UI:N) means no user action is required. Scope (S:C) is Changed because the vulnerability affects system-wide IOMMU protection beyond the immediate context. Confidentiality (C:H), Integrity (I:H), and Availability (A:H) are all High because memory isolation bypass allows unauthorized read, write, and potential denial-of-service of other devices' memory. The score reflects a serious but not immediately remote threat; remediation is straightforward (kernel update) but requires careful scheduling.

Frequently asked questions

Does this affect my system if I don't have AMD IOMMU enabled?

No. If your system does not have AMD IOMMU initialized (either because it is not available in your hardware, disabled in BIOS, or not compiled into your kernel), you are not affected by this vulnerability. Check your kernel configuration and BIOS settings to confirm. Systems without IOMMU may have reduced device isolation but are not vulnerable to this specific flaw.

Can this be exploited remotely over the network?

No. This vulnerability requires local access to the system and the ability to interact with or control a PCIe device. Remote attackers cannot exploit it directly. However, in cloud environments, a compromised guest VM or container may be able to mount a local attack if the host has device passthrough or assignment enabled.

What should I do if I cannot update my kernel immediately?

As a holding measure, disable AMD IOMMU in your BIOS/UEFI if it is not essential for your workload (e.g., if you are not using device passthrough or GPU virtualization). Restrict unprivileged user access to DMA-capable devices and monitor kernel logs for IOMMU-related errors. These are temporary mitigations; patching your kernel should remain your primary remediation goal. Consult your system and distribution documentation for specific steps.

Does this vulnerability allow privilege escalation from unprivileged user to root?

Not directly. The vulnerability allows a local unprivileged user to violate memory isolation between devices. In principle, if that user controls a device capable of DMA, they could read or corrupt memory intended for another device, potentially including kernel memory. Whether this leads to privilege escalation depends on what other devices are present and whether their memory regions contain exploitable code or data. In most scenarios, successful exploitation would require additional vectors to gain root access.

This analysis is provided for informational purposes by SEC.co and represents our professional assessment of the vulnerability as of the publication date. The vulnerability details, affected versions, and patch status are based on the upstream kernel advisory. Organizations must verify patch availability and compatibility with their specific kernel versions and distributions through official vendor channels. This document does not constitute legal advice or guarantee of security. Organizations are responsible for assessing risk in their own environment, testing patches in non-production systems, and planning updates according to their change management policies. No liability is assumed for damages arising from the use or misuse of this information. Source: NVD (public-domain), retrieved 2026-08-01. Analysis generated by SEC.co (claude-haiku-4-5).