Description
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.
Published: 2026-07-25
Score: 5.5 Medium
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

This kernel flaw occurs in the iommufd subsystem when the ioctl iommufd_hwpt_invalidate() processes a user-specified entry_num and entry_len that are only limited by U32_MAX. When an attacker supplies extremely large values, the kernel, while copying the user buffer, scans an enormous amount of memory and triggers the soft-lockup watchdog. Likewise, a large entry_num forces the backend loop to run without any rescheduling, causing the CPU to be locked in a non-preemptible kernel path. As a result, the kernel can lose responsiveness and exhibit a hard or soft lockup, effectively denying service to all users on the affected host.

Affected Systems

The vulnerability is present in the Linux kernel, as identified by the CPE string covering all Linux kernel releases. No specific kernel version range is provided in the CNA data, so any recent kernel that implements the iommufd subsystem and has not yet applied the approved bounds should be considered at risk. Existing deployments that use the iommufd ioctl interface are potentially affected.

Risk and Exploitability

The CVSS score is 5.5, indicating moderate severity, but the EPSS indicates a very low availability of exploitable code (<1%). The vulnerability is not catalogued in CISA's KEV list. Practical exploitation requires local access to the iommufd ioctl, which is normally restricted by device permissions. If an attacker obtains such local privileges, they can invoke the ioctl with arbitrary entry_num and entry_len values. The lack of bounds causes a predictable denial-of-service effect, making this a significant usability risk but with limited threat surface. After the fix, entry_num is bounded to 1<<19 and entry_len to PAGE_SIZE, preventing the loop from exceeding safe limits.

Generated by OpenCVE AI on August 13, 2026 at 17:57 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Apply the latest Linux kernel patch that implements the bounds checks for iommufd_hwpt_invalidate().
  • Restrict local access to the iommufd device (e.g., set file permissions or use a udev rule) so that only trusted processes can issue the ioctl.
  • Monitor the system for lockup events or high watchdog activity after deployment and confirm that the kernel no longer triggers soft-lockups during cache invalidation operations.

Generated by OpenCVE AI on August 13, 2026 at 17:57 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Debian DLA Debian DLA DLA-4724-1 linux-6.12 new package
History

Thu, 13 Aug 2026 15:15:00 +0000

Type Values Removed Values Added
Weaknesses NVD-CWE-noinfo

Sat, 01 Aug 2026 02:45:00 +0000

Type Values Removed Values Added
Weaknesses CWE-190
CWE-674

Thu, 30 Jul 2026 12:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-606
References
Metrics threat_severity

None

cvssV3_1

{'score': 5.5, 'vector': 'CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H'}

threat_severity

Moderate


Sun, 26 Jul 2026 02:45:00 +0000

Type Values Removed Values Added
Weaknesses CWE-190
CWE-674

Sat, 25 Jul 2026 09:30:00 +0000

Type Values Removed Values Added
Description 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.
Title iommufd: Set upper bounds on cache invalidation entry_num and entry_len
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-07-25T08:49:29.434Z

Reserved: 2026-07-19T15:36:31.778Z

Link: CVE-2026-64289

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Analyzed

Published: 2026-07-25T10:17:09.603

Modified: 2026-08-13T14:57:46.833

Link: CVE-2026-64289

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-07-25T00:00:00Z

Links: CVE-2026-64289 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-08-13T18:00:04Z

Weaknesses