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

drm/vmwgfx: validate external BO copy bounds for both stride paths

vmw_external_bo_copy() trusts caller-supplied offsets, strides, and
heights and operates on imported dma-buf vmaps:

- The equal-stride memcpy() bound was clamped after subtracting the
offsets from dst_size and src_size; an offset larger than the BO
size wraps the unsigned subtraction to a huge value and the
resulting memcpy() runs off the end of the vmap. dst_stride *
height is also a u32 multiplication that can overflow.
- The non-equal-stride row-by-row path had no bound at all. The
loop touches bytes through offset + (height - 1) * stride +
width_in_bytes, with only a WARN_ON(dst_stride < width_in_bytes),
and could likewise step past the end of either mapping.

The offsets and strides are derived from STDU/SOU plane state, so a
configured CRTC submitting a crafted atomic commit on an imported
framebuffer can reach this path.

Validate the exact row-copy endpoint against each BO's size up front
using check_mul_overflow() and check_add_overflow(). Use the bulk
memcpy() path only when width_in_bytes covers the whole stride;
otherwise copy one row at a time so partial-row updates near the bottom
of a framebuffer remain valid. Also reject zero strides and stride <
width_in_bytes, both of which the row-by-row path cannot represent
safely.
Published: 2026-08-28
Score: 7.8 High
EPSS: < 1% Very Low
KEV: No
Impact: Potential kernel memory corruption leading to privilege escalation
Action: Apply patch
AI Analysis

Impact

This vulnerability manifests as a buffer overflow and integer overflow in the vmwgfx driver’s vmw_external_bo_copy function, allowing an attacker to supply unbounded offsets, strides, and heights. When copying data from an imported dma-buf, unchecked arithmetic can overflow, causing memcpy to run beyond the allocated vmap and potentially corrupt kernel memory. This out‑of‑bounds kernel memory write can overwrite any data in the kernel address space, which could enable a local attacker to gain elevated privileges or execute arbitrary code.

Affected Systems

All Linux kernel releases that include the vmwgfx DRM subsystem before the patch. This applies to any system that uses the vmwgfx interface. No product‑specific version details are provided, so all affected kernels should be considered until the change is applied.

Risk and Exploitability

The CVSS score of 7.8 indicates high severity, and the EPSS score is < 1%, suggesting a very low likelihood of exploitation. The lack of bounds checks indicates significant risk, as unchecked arithmetic may lead to out‑of‑bounds memory writes. The attacker must have the ability to submit a crafted atomic commit on an imported framebuffer, meaning local access to the vmwgfx device is required. If an attacker can control the framebuffer parameters, they can trigger the overflow to corrupt kernel memory. The vulnerability is not listed in CISA KEV, but it poses a serious risk in environments that rely on untrusted framebuffer imports.

Generated by OpenCVE AI on August 31, 2026 at 15:28 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Update the Linux kernel to a version that includes the vmwgfx bounds‑check patch (e.g., after commit 042ca3877955).
  • Restrict access to the VMware graphics device by applying udev rules or disabling external framebuffer imports when they are not needed.
  • Enforce strict permissions or disable the vmwgfx module on hosts that do not require VMware GPU services.

Generated by OpenCVE AI on August 31, 2026 at 15:28 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Mon, 31 Aug 2026 14:45:00 +0000

Type Values Removed Values Added
Weaknesses CWE-119
CWE-680

Mon, 31 Aug 2026 12:15:00 +0000

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

None

threat_severity

Moderate


Sat, 29 Aug 2026 11:00:00 +0000

Type Values Removed Values Added
Weaknesses CWE-119
CWE-680

Sat, 29 Aug 2026 09:00:00 +0000

Type Values Removed Values Added
Weaknesses CWE-119
CWE-680

Sat, 29 Aug 2026 06:45:00 +0000

Type Values Removed Values Added
Metrics cvssV3_1

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


Fri, 28 Aug 2026 17:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-119
CWE-680

Fri, 28 Aug 2026 14:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-119
CWE-680

Fri, 28 Aug 2026 11:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-119
CWE-680

Fri, 28 Aug 2026 07:30:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: drm/vmwgfx: validate external BO copy bounds for both stride paths vmw_external_bo_copy() trusts caller-supplied offsets, strides, and heights and operates on imported dma-buf vmaps: - The equal-stride memcpy() bound was clamped after subtracting the offsets from dst_size and src_size; an offset larger than the BO size wraps the unsigned subtraction to a huge value and the resulting memcpy() runs off the end of the vmap. dst_stride * height is also a u32 multiplication that can overflow. - The non-equal-stride row-by-row path had no bound at all. The loop touches bytes through offset + (height - 1) * stride + width_in_bytes, with only a WARN_ON(dst_stride < width_in_bytes), and could likewise step past the end of either mapping. The offsets and strides are derived from STDU/SOU plane state, so a configured CRTC submitting a crafted atomic commit on an imported framebuffer can reach this path. Validate the exact row-copy endpoint against each BO's size up front using check_mul_overflow() and check_add_overflow(). Use the bulk memcpy() path only when width_in_bytes covers the whole stride; otherwise copy one row at a time so partial-row updates near the bottom of a framebuffer remain valid. Also reject zero strides and stride < width_in_bytes, both of which the row-by-row path cannot represent safely.
Title drm/vmwgfx: validate external BO copy bounds for both stride paths
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-08-29T06:22:20.794Z

Reserved: 2026-08-26T14:34:25.786Z

Link: CVE-2026-80700

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-08-28T08:16:55.517

Modified: 2026-08-29T07:16:51.807

Link: CVE-2026-80700

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-08-28T00:00:00Z

Links: CVE-2026-80700 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-08-31T15:30:04Z

Weaknesses