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

dma-buf: Fix silent overflow for phys vec to sgt

In case MMIO size is bigger than 4G and peer2peer DMA goes
through host bridge, we trigger a code path that assigns the
total linked IOVA (which is greater than 4G) to mapped_len.

Previously, `mapped_len` was declared as 32-bit `unsigned int`.
When accumulating `size_t` lengths, this leads to a silent wrap-around.
This truncation causes truncated lengths to be passed to functions
like `fill_sg_entry()`.

Fix this by changing `mapped_len` to `size_t` (64-bit). While
at it, fix similar potential overflow issues in `calc_sg_nents`
by using `check_add_overflow()` for `nents` and using
`unsigned int` for the loop iterator in `fill_sg_entry` to match.
Published: 2026-10-06
Score: 5.5 Medium
EPSS: < 1% Very Low
KEV: No
Impact: Memory corruption via integer overflow
Action: Apply patch
AI Analysis

Impact

In the Linux kernel's dma‑buf subsystem a 32‑bit unsigned integer was used to sum total I/O virtual address lengths for peer‑to‑peer DMA paths that cross a host bridge. When the sum exceeded 4 GB, the counter silently wrapped, truncating the length passed to functions such as fill_sg_entry. This silent overflow can corrupt the scatter‑gather list that the kernel builds, potentially allowing an attacker to overwrite arbitrary kernel memory or crash the system. The weakness is a classic integer overflow (CWE‑190) that can lead to memory corruption and denial of service.

Affected Systems

The flaw affects all Linux kernel builds that incorporate the upstream dma‑buf code and enable peer‑to‑peer DMA over a host bridge. It is relevant to distributions using kernels older than the fix commit, particularly systems that expose large memory‑mapped I/O regions (> 4 GB) to kernel DMA handling. The vulnerability is present in generic kernel sources and any vendor custom kernels that have not incorporated the size_t change for mapped_len or the check_add_overflow guard in calc_sg_nents.

Risk and Exploitability

The EPSS score is <1%, indicating a very low exploitation probability, and the vulnerability is not listed in the CISA KEV catalog, so the likelihood of exploitation remains uncertain. The attack requires a device with a MMIO region greater than 4 GB and privileged control over the DMA engine, which limits the applicable attack surface to specialized hardware environments. Based on the description, it is inferred that the path to exploitation is through the kernel's DMA APIs and requires either compromised drivers or an attacker with kernel privileges. Despite the constraints, the potential for memory corruption and a possible denial‑of‑service warrants timely remediation.

Generated by OpenCVE AI on October 10, 2026 at 02:07 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Apply a Linux kernel version that includes the dma‑buf integer overflow fix or apply the commit referenced in the advisory.
  • Disable peer‑to‑peer DMA over the host bridge or limit MMIO region sizes to below 4 GB to avoid the vulnerable code path.
  • Subscribe to vendor security bulletins and apply subsequent kernel hardening updates that address DMA‑related vulnerabilities.

Generated by OpenCVE AI on October 10, 2026 at 02:07 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Sat, 10 Oct 2026 00:30:00 +0000

Type Values Removed Values Added
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


Tue, 06 Oct 2026 16:00:00 +0000

Type Values Removed Values Added
Weaknesses CWE-190

Tue, 06 Oct 2026 09:00:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: dma-buf: Fix silent overflow for phys vec to sgt In case MMIO size is bigger than 4G and peer2peer DMA goes through host bridge, we trigger a code path that assigns the total linked IOVA (which is greater than 4G) to mapped_len. Previously, `mapped_len` was declared as 32-bit `unsigned int`. When accumulating `size_t` lengths, this leads to a silent wrap-around. This truncation causes truncated lengths to be passed to functions like `fill_sg_entry()`. Fix this by changing `mapped_len` to `size_t` (64-bit). While at it, fix similar potential overflow issues in `calc_sg_nents` by using `check_add_overflow()` for `nents` and using `unsigned int` for the loop iterator in `fill_sg_entry` to match.
Title dma-buf: Fix silent overflow for phys vec to sgt
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-10-19T09:16:13.758Z

Reserved: 2026-09-25T10:25:14.330Z

Link: CVE-2026-98242

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-10-06T09:18:12.253

Modified: 2026-10-19T10:18:25.103

Link: CVE-2026-98242

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-10-06T00:00:00Z

Links: CVE-2026-98242 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-10-10T02:15:14Z

Weaknesses
  • CWE-190

    Integer Overflow or Wraparound