CVE-2026-90240: iommu/vt-d: Flush context cache with correct SID when tearing down aliases

Published Sep 17, 2026
·
Updated

In the Linux kernel, the following vulnerability has been resolved:

iommu/vt-d: Flush context cache with correct SID when tearing down aliases

domaincontextclearone() and devicepasidtableteardown() are both invoked once per DMA alias of a device. Each function locates the context entry using the bus/devfn pair provided by the pciforeachdmaalias() callback, then calls intelcontextflushnopasid(), which constructs a device-selective context-cache invalidation from info->bus and info->devfn (that is, always the requester ID of the device itself).

As a result, for every alias other than the device’s own RID, the context entry that was just cleared in memory is never invalidated in the context cache. Hardware may continue using that stale cached entry. In the scalable-mode teardown path, intelpasidfreetable() can then free the PASID directory still referenced by that stale entry, allowing the IOMMU to walk freed memory.

Fix this by passing the source ID of the entry being torn down to intelcontextflushnopasid(), instead of deriving it from @info.

Affected Software

1 affected component
Linux Linux kernel

Event History

Sep 17, 2026
CVE Published
via MITRE·04:07 PM
Data Sourced
via MITRE·04:07 PM
Description

Frequently Asked Questions

1

Which Linux systems are exposed to the freed-memory IOMMU walk scenario?

The described freed-memory walk occurs in the Intel VT-d scalable-mode teardown path when a device has DMA aliases. Alias context entries can remain stale in the IOMMU context cache after being cleared in memory.

2

Is the issue limited to the device's primary requester ID?

No. The flaw affects DMA aliases other than the device's own requester ID, because the invalidation was issued using the device's requester ID rather than the source ID of the alias entry being removed.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203