Skip to main content

Linux Kernel EUVDEUVD-2026-49001

| CVE-2026-64289 MEDIUM
2026-07-25 Linux GHSA-m7qh-p3gf-gcv8
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 /dev/iommu device access required (AV:L, PR:L); no complexity beyond crafting ioctl values (AC:L); purely availability impact with no confidentiality or integrity consequence.

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:N/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
Aug 13, 2026 - 15:26 vuln.today
CVSS changed
Aug 13, 2026 - 15:07 NVD
5.5 (MEDIUM)
Patch available
Jul 25, 2026 - 11:18 EUVD
CVE Published
Jul 25, 2026 - 08:49 nvd
MEDIUM 5.5
CVE Published
Jul 25, 2026 - 08:49 cve.org
UNKNOWN (no severity yet)

DescriptionNVD

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

iommufd: Set upper bounds on cache invalidation entry_num and entry_len

iommufd_hwpt_invalidate() takes a user-controlled entry_num and entry_len, each bounded only by U32_MAX. An entry_len beyond the kernel's struct size makes the copy helper verify the extra bytes are zero, scanning that excess in one uninterruptible pass; a multi-gigabyte value over zeroed user memory trips the soft-lockup watchdog.

A large entry_num is the other half, driving the backend invalidation loop with no reschedule. The VT-d nested handler, for one, copies each entry and flushes caches per iteration, pinning the CPU on a non-preemptible kernel.

Cap both in the ioctl. entry_len is held under PAGE_SIZE, above any request struct, and entry_num under 1 << 19, the order of a hardware invalidation queue and well beyond any real batch, bounding the per-call loop length.

AnalysisAI

Unbounded cache invalidation parameters in the Linux kernel iommufd subsystem allow a local low-privileged user to pin a CPU indefinitely or trigger a soft-lockup watchdog fault, resulting in a kernel denial of service. The iommufd_hwpt_invalidate() ioctl accepts user-supplied entry_len and entry_num values bounded only by U32_MAX, enabling an uninterruptible gigabyte-scale memory scan or a no-reschedule VT-d flush loop. No public exploit has been identified and EPSS stands at 0.21% (11th percentile); the vulnerability is not listed in CISA KEV, indicating low active exploitation pressure.

Technical ContextAI

IOMMUFD (I/O Memory Management Unit File Descriptor) is the Linux kernel subsystem for managing hardware IOMMU page tables, primarily used in device passthrough and nested virtualization scenarios (VFIO, KVM). The vulnerable function iommufd_hwpt_invalidate() handles an ioctl that invalidates hardware page table cache entries. It accepts two u32 user-space parameters - entry_len (per-entry struct size) and entry_num (iteration count) - with no upper-bound validation prior to the fix. An entry_len exceeding the kernel's internal struct size causes the copy-from-user helper to verify that excess bytes are zeroed in a single uninterruptible pass, which on multi-gigabyte values trips the kernel soft-lockup watchdog. A large entry_num drives the VT-d nested invalidation handler into a tight per-entry copy-and-cache-flush loop with no scheduling yield, pinning a CPU core on non-preemptible kernel configurations. The root cause is missing input range validation on ioctl parameters - analogous to CWE-400 (Uncontrolled Resource Consumption) - introduced when iommufd cache invalidation support landed around kernel 6.8 (commit 8c6eabae3807e048b9f17733af5e20500fbf858c). CPE: cpe:2.3:a:linux:linux.

RemediationAI

The primary fix is upgrading to a patched Linux kernel: 6.12.96 or later in the 6.12.x stable series, 6.18.39 or later in the 6.18.x series, or 7.1.4 or later in the 7.1.x series, as confirmed by EUVD-2026-49001 and the kernel stable-tree commits at https://git.kernel.org/stable/. The fix caps entry_len below PAGE_SIZE and entry_num below 1 << 19 (524,288), bounding both the copy-scan and the invalidation loop. Where immediate kernel upgrade is not feasible, restrict access to the /dev/iommu character device to root-only via udev rules (MODE='0600', OWNER='root') or equivalent DAC policy; this blocks unprivileged users from invoking the vulnerable ioctl entirely. Trade-off: restricting /dev/iommu access will break VFIO device passthrough for non-root VM operators or containers that depend on delegated IOMMU access - weigh this against exposure before applying.

Vendor StatusVendor

SUSE

Severity: Moderate
Product Status
openSUSE Tumbleweed Fixed
SUSE Linux Enterprise Desktop 15 SP7 Affected
SUSE Linux Enterprise Desktop 15 SP7 Affected
SUSE Linux Enterprise High Availability Extension 15 SP7 Affected
SUSE Linux Enterprise High Availability Extension 15 SP7 Affected

Share

EUVD-2026-49001 vulnerability details – vuln.today

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