Skip to main content

Linux Kernel EUVDEUVD-2026-39255

| CVE-2026-53164 MEDIUM
2026-06-25 416baaa9-dc9f-4396-8d5f-8c081fb06d67 GHSA-rwq9-95v8-58fq
5.5
CVSS 3.1 · NVD
Share

Severity by source

NVD PRIMARY
5.5 MEDIUM
AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
vuln.today AI
5.5 MEDIUM

Local-only trigger via device interaction with low OS privilege; no confidentiality or integrity impact, only kernel availability via WARN_ON and mapping corruption.

3.1 AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
4.0 AV:L/AC:L/AT:P/PR:L/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
SUSE
MEDIUM
qualitative
Red Hat
5.5 MEDIUM
qualitative

Primary rating from NVD.

CVSS VectorNVD

Attack Vector
Local
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
None
Availability
High

Lifecycle Timeline

5
Analysis Generated
Jul 07, 2026 - 18:23 vuln.today
CVSS changed
Jul 07, 2026 - 18:22 NVD
5.5 (MEDIUM)
Patch available
Jun 25, 2026 - 10:32 EUVD
CVE Published
Jun 25, 2026 - 09:16 nvd
MEDIUM 5.5
CVE Published
Jun 25, 2026 - 09:16 cve.org
UNKNOWN (no severity yet)

DescriptionNVD

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.

AnalysisAI

Kernel availability impact in Linux iommu/dma SWIOTLB subsystem allows a local low-privileged user to corrupt IOMMU mappings and trigger a kernel WARN_ON via Thunderbolt NVMe passthrough commands. The iommu_dma_iova_link_swiotlb() function fails to guard against zero-length middle segments in unaligned DMA mappings, causing iommu_map() to receive an illegal zero-size argument; the subsequent error unwind then starts from the wrong offset, corrupting the IOMMU page table state and firing WARN_ON at destruction. No active exploitation is confirmed (not in CISA KEV), and EPSS of 0.17% (6th percentile) signals negligible threat-actor interest, but the bug is reliably reproducible with commodity Thunderbolt NVMe hardware.

Technical ContextAI

The vulnerability resides in the Linux kernel's IOMMU DMA subsystem, specifically iommu_dma_iova_link_swiotlb() (iommu/dma.c). SWIOTLB (Software I/O Translation Lookaside Buffer) is a bounce-buffer mechanism used when a DMA-capable device cannot address all physical memory directly - common on systems with IOMMU strict mode or with peripherals that impose DMA address restrictions. The function partitions an unaligned DMA mapping into three segments: a head (unaligned leading bytes), a middle (aligned full pages), and a trailer (unaligned trailing bytes). When the buffer has no aligned pages in the middle, the middle segment has zero length. The code passes this zero length directly to iommu_map(), which the underlying IOMMU page-table driver (iommupt) rejects as an illegal operation. The ensuing error path incorrectly uses offset 0 rather than the actual mapping offset as the starting point for the unlink, corrupting internal IOMMU mapping state. The corruption is not caught immediately but surfaces as a WARN_ON when the corrupted mapping is later destroyed. CPE cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* covers the broad kernel tree, with specific enumeration of 7.1 RC1 through RC7 in the CPE data. CWE is not formally assigned, but the root cause class is an unchecked zero-length input to a subsystem that treats zero as an illegal invariant violation, combined with an incorrect error-recovery path - analogous to CWE-754 (Improper Check for Unusual or Exceptional Conditions).

RemediationAI

Update to a Linux kernel version that includes the three upstream fix commits: 6ec91df8aff77e2e8fe3179c1f3fc15b43a40ba3, ab61c990a87d084f5565ee70340543e3a5394697, and b16f8d40bac9ced838d24c9842707af9ecae92e2, available at https://git.kernel.org/stable/. EUVD indicates patched releases at Linux 7.0.13 and 7.1; distributions (RHEL, Ubuntu, SUSE, Debian) should be monitored for kernel updates incorporating these stable commits. As a workaround where kernel update is not immediately possible, disabling smartctl ATA passthrough commands on Thunderbolt NVMe devices prevents the known trigger path, though this limits drive health monitoring capability. Alternatively, setting the IOMMU to passthrough mode (iommu=pt kernel parameter) avoids SWIOTLB processing entirely but introduces security trade-offs by disabling IOMMU DMA isolation - use only in trusted, controlled environments. The patch itself is minimal and targeted: it adds a zero-length guard in iommu_dma_iova_link_swiotlb() and corrects the unlink start offset in the error path, making backporting low-risk.

Vendor StatusVendor

SUSE

Severity: Moderate
Product Status
SUSE Linux Enterprise Desktop 15 SP7 Not-Affected
SUSE Linux Enterprise Desktop 15 SP7 Not-Affected
SUSE Linux Enterprise High Availability Extension 15 SP7 Not-Affected
SUSE Linux Enterprise High Availability Extension 15 SP7 Not-Affected
SUSE Linux Enterprise High Availability Extension 16.0 Not-Affected

Share

EUVD-2026-39255 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy