CVE-2026-53164: Linux Kernel IOMMU DMA Mapping Crash on Thunderbolt NVMe
A flaw in the Linux kernel's I/O memory management unit (IOMMU) and DMA handling can cause a system crash or hang when certain NVMe drives—particularly Thunderbolt-based SSDs—trigger software I/O translation lookaside buffer (SWIOTLB) operations with unaligned memory buffers. The kernel incorrectly attempts to map a zero-length memory region, fails, and then corrupts the mapping during error recovery. This is most commonly triggered by smartctl passthrough commands on affected Thunderbolt NVMe hardware.
Source data · NVD / CISA · public domain
- CVSS
- 3.1 · 5.5 MEDIUM · CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
- Weaknesses (CWE)
- —
- Affected products
- 8 configuration(s)
- Published / Modified
- 2026-06-25 / 2026-07-07
NVD description (verbatim)
In the Linux kernel, the following vulnerability has been resolved: iommu/dma: Do not try to iommu_map a 0 length region in swiotlb iommu_dma_iova_link_swiotlb() processes a mapping that is unaligned in three parts, the head, middle and trailer. If the middle is empty because there are no aligned pages it will call down to iommu_map() with a 0 size which the iommupt implementation will fail as illegal. It then tries to do an error unwind and starts from the wrong spot corrupting the mapping so the eventual destruction triggers a WARN_ON. Check for 0 length and avoid mapping and use offset not 0 as the starting point to unlink. This is frequently triggered by using some kinds of thunderbolt NVMe drives that trigger forced SWIOTLB for unaligned memory. NVMe seems to pass in oddly aligned buffers for the passthrough commands from smartctl that hit this condition.
3 reference(s) · View on NVD →
SEC.co analysis · AI-assisted, reviewed against source
Technical summary
The vulnerability exists in iommu_dma_iova_link_swiotlb(), which splits unaligned DMA mappings into three regions: head, middle, and trailer. When the middle section is empty (no aligned pages present), the function calls iommu_map() with a size of zero—an operation the IOMMU page table implementation explicitly rejects as invalid. The subsequent error unwinding begins at the wrong offset, corrupting the partially-completed mapping. When that corrupted mapping is later destroyed, the kernel issues a WARN_ON, typically halting system stability. The defect manifests under real-world conditions when firmware or drivers pass oddly-aligned buffers for passthrough commands, a pattern observed with certain Thunderbolt NVMe controllers and smartctl diagnostic utilities.
Business impact
This vulnerability primarily affects systems with Thunderbolt NVMe storage and tools like smartctl that issue passthrough commands. Affected users may experience unexpected system crashes, hung systems, or kernel warnings that degrade reliability and uptime. For organizations relying on Thunderbolt-based external storage or running storage diagnostics on such hardware, patching is necessary to maintain consistent system availability and prevent unplanned downtime during routine maintenance or troubleshooting.
Affected systems
The Linux kernel is the sole affected component. All mainline kernel versions containing the vulnerable iommu_dma_iova_link_swiotlb() code are susceptible. Practical impact is concentrated on systems equipped with Thunderbolt NVMe drives or external storage that force SWIOTLB activation due to unaligned memory constraints. Systems without such hardware or those not executing passthrough commands (e.g., smartctl) on affected storage are at lower risk.
Exploitability
Exploitability requires local access and the ability to trigger oddly-aligned DMA operations—typically via smartctl passthrough commands, firmware interactions, or custom user-space DMA applications. Unprivileged users cannot directly exploit this; a local user with permission to execute diagnostic tools or interact with passthrough device interfaces could trigger the crash. Remote exploitation is not feasible. The CVSS score of 5.5 reflects local access requirements, low complexity, and availability impact without confidentiality or integrity violations.
Remediation
Apply the kernel patch that adds a zero-length check in iommu_dma_iova_link_swiotlb() before calling iommu_map(), and corrects the error unwinding logic to use the proper offset instead of starting from zero. This prevents the invalid zero-size mapping and ensures proper cleanup if partial mapping succeeds. Alternatively, avoid triggering SWIOTLB operations by using aligned memory buffers in passthrough commands or updating Thunderbolt NVMe firmware if alignment corrections are available.
Patch guidance
Obtain the fix from the Linux kernel upstream repository or your distribution's kernel updates. Verify that your kernel version incorporates the patch to iommu_dma_iova_link_swiotlb() that adds zero-length region checking and corrects the unwind offset. Consult your Linux distribution's security advisory for recommended kernel versions or backported patches. For custom kernels, cherry-pick the upstream commit that resolves this issue.
Detection guidance
Monitor system logs and dmesg output for WARN_ON messages originating from IOMMU or DMA code paths, particularly during or shortly after smartctl diagnostics on Thunderbolt NVMe drives. Kernel panics or hung tasks with stack traces involving iommu_map() or SWIOTLB are indicators of exploitation attempts. Enable CONFIG_IOMMU_DEBUG if available to increase verbosity of IOMMU operations. Test affected systems by running smartctl passthrough commands and observing for crashes or warnings.
Why prioritize this
Although this vulnerability has a medium CVSS score and requires local access, it directly threatens system stability on a specific but growing class of hardware (Thunderbolt NVMe). Organizations with Thunderbolt storage ecosystems should prioritize patching to prevent unplanned crashes during routine storage diagnostics or maintenance. Non-Thunderbolt systems can deprioritize unless they explicitly use SWIOTLB and passthrough mechanisms.
Risk score, explained
The CVSS v3.1 score of 5.5 (MEDIUM) reflects: local attack vector (AV:L), low attack complexity (AC:L), low privilege level required (PR:L), no user interaction (UI:N), unchanged scope (S:U), no confidentiality impact (C:N), no integrity impact (I:N), and high availability impact (A:H). The score appropriately captures a denial-of-service vulnerability that requires local access but can severely degrade system availability on affected hardware.
Frequently asked questions
Does this vulnerability affect systems without Thunderbolt NVMe storage?
Systems without Thunderbolt NVMe drives or those that do not trigger SWIOTLB operations are at minimal risk. However, any system using unaligned DMA buffers combined with IOMMU and SWIOTLB could theoretically be affected. Patching is recommended as a precaution for all systems running vulnerable kernel versions.
Can this be exploited remotely?
No. The vulnerability requires local access and the ability to issue passthrough commands or trigger specific DMA operations. Remote attackers cannot exploit this without first obtaining local system access.
Will this cause data corruption or data loss?
The vulnerability primarily causes system crashes or hangs (availability impact). The mapping corruption occurs at the IOMMU level before data is committed to storage, so data loss is unlikely. However, unplanned crashes can lead to unsaved work loss.
Is there a workaround if I cannot immediately patch the kernel?
Avoid running diagnostic tools like smartctl with passthrough commands on Thunderbolt NVMe drives until the kernel is patched. If absolutely necessary, use only standard read/write operations and defer detailed diagnostics. Update your Linux kernel to a version that includes this fix as soon as possible.
This analysis is provided for informational purposes and reflects publicly available information as of the vulnerability's publication date. Verify all patch version numbers, affected kernel releases, and vendor advisories against official Linux kernel repositories and your distribution's security announcements before implementing changes. SEC.co makes no warranty regarding the completeness or accuracy of derived impacts, and recommends consulting with kernel maintainers and your system vendor for environment-specific guidance. No exploit code or weaponized proof-of-concept is provided; responsible disclosure practices are assumed throughout. Source: NVD (public-domain), retrieved 2026-08-03. Analysis generated by SEC.co (claude-haiku-4-5).
Affected vendors
Related vulnerabilities
- CVE-2025-71313MEDIUMLinux Kernel PCI Endpoint NULL Pointer Dereference
- CVE-2025-71314MEDIUMLinux Panthor GPU Driver Denial of Service via Cache Flush Timeout
- CVE-2025-71315MEDIUMLinux Kernel vkms DRM Vblank Timer Denial of Service
- CVE-2026-0268MEDIUMPrisma Access Agent Linux VPN Bypass Vulnerability
- CVE-2026-10004MEDIUMChrome UI Spoofing Vulnerability – Password Dialog Hijacking
- CVE-2026-10018MEDIUMInteger Overflow in Chrome ANGLE GPU Graphics Layer
- CVE-2026-10912MEDIUMChrome Extension Same-Origin Policy Bypass (CVSS 6.5)
- CVE-2026-10916MEDIUMChrome DevTools UXSS Vulnerability