ZeroHour

CVE-2026-80700

mass

Out-of-bounds write in Linux kernel vmwgfx driver dma-buf copy (CVE-2026-80700)

CVSS 3.1
7.8 high
EPSS
<1%p3
Published
()
Modified
AI analysis

The vmwgfx KMS driver in the Linux kernel trusts caller-supplied offsets, strides and heights in vmw_external_bo_copy(), which copies data to and from imported dma-buf memory mappings; an offset larger than the buffer size underflows an unsigned size calculation, the stride-times-height multiply can overflow a 32-bit value, and the unequal-stride row-by-row copy path has no end-of-buffer bound at all. As a result, a bulk memcpy or row loop can run past the end of the mapped buffer, corrupting adjacent kernel memory or exposing kernel data. A local attacker triggers this by configuring a CRTC and submitting a crafted atomic commit that uses an imported (dma-buf) framebuffer, requiring only ordinary local privileges. Any Linux system running as a VMware guest with the vmwgfx driver active (VMs on ESXi, Workstation or Fusion) is potentially affected. Successful exploitation yields kernel memory disclosure or corruption (CVSS rates confidentiality, integrity and availability all high), potentially enabling local privilege escalation or a crash; no public PoC, KEV listing or in-the-wild exploitation is known, and EPSS puts 30-day exploitation probability at about 0.1%.

What to do: Update to a kernel that includes the upstream drm/vmwgfx fix, or install your vendor's patched kernel package as soon as it is released (no fixed version number is given in the source data). Check whether the driver is loaded on VMware guests (lsmod | grep vmwgfx); where untrusted local users or containers can access /dev/dri, restrict DRM device access or avoid imported dma-buf framebuffers until patched. With no public PoC or known exploitation, patching on a normal cycle is acceptable for single-user workstations, but prioritize multi-tenant hosts and VMs exposed to untrusted local code.

Affected
Linux kernel drm/vmwgfx driver (VMware virtual SVGA graphics) — vmw_external_bo_copy() imported dma-buf copy path
Estimated exposure
mass≈1M+ Linux guest VMs on VMware hypervisors where the vmwgfx driver ships enabled by default (the driver is the default KMS driver for VMware's virtual SVGA… — vmwgfx is the in-kernel driver for the VMware virtual SVGA display adapter and is enabled by default in mainstream distributions, and VMware hypervisors (ESXi/Workstation/Fusion) run on the order of tens of millions of VMs, of which Linux…

Order-of-magnitude estimate by the model from install counts, market share and public scan data it knows; verify before quoting.

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.

Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

In the news

No ingested article mentions this CVE yet.