KernelScan.io

HIGH Introduced in 6.4

vmwgfx GuestMemory Corruption

CVE-2026-80702

CVSS 7.8 / 10.0 NVD

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

KernelScan AI7.7HIGH

01

In the Linux kernel, the following vulnerability has been resolved: drm/vmwgfx: fix guest_memory_dirty bitfield clobbered as size Two sites in vmwgfx_resource.c assign boolean literals to res->guest_memory_size, which is an unsigned long allocation-size field; the intended target is the adjacent res->guest_memory_dirty bitfield. After the assignments the field holds 0 or 1 instead of the resource's MOB allocation size: - vmw_resource_release() writes 0 (false), and - vmw_resource_unbind_list() writes 1 (true). Subsequent revalidation paths read guest_memory_size when computing the dirty page range (vmw_bo_dirty_transfer_to_res()) and the buffer allocation size (vmw_resource_buf_alloc()), producing zero-length walks or wrap-around ranges that read or write past the MOB bitmap. The dirty-tracking intent of the original code (mark the resource as dirtied since the last sync) is also lost, since guest_memory_dirty is never updated. Rename both assignments to guest_memory_dirty.

02

Engine v0.6.0

Risk summary

A local user with access to the VMware SVGA II DRM device can trigger out-of-bounds reads and writes in kernel memory by performing normal GPU resource operations. The corruption arises because a size field is accidentally overwritten with boolean values, causing subsequent dirty-page tracking and buffer allocation code to compute invalid ranges. This can lead to information disclosure, memory corruption, or kernel crashes on any system running the vmwgfx driver.

Affecteddrivers/gpu/drm/vmwgfx/vmwgfx_resource.c (vmwgfx DRM driver)

Vulnerability analysis

Two code paths in the vmwgfx DRM driver assign boolean true/false values to a resource's allocation-size field instead of the adjacent dirty-tracking flag they were meant to update. This clobbers the size with 0 or 1, so when later revalidation code uses that size to compute dirty-page ranges or buffer allocation lengths, it produces zero-length walks or wrap-around ranges that read and write past the end of the MOB bitmap in kernel memory. The fix redirects both assignments to the correct dirty-tracking field, preserving the allocation size and restoring the intended dirty-marking behavior. The vulnerable paths are reachable by any local user who can access the VMware SVGA II DRM device node, which on most systems is available to non-root users through the video group or logind seat ACLs; no special capabilities or hardware beyond a VMware virtual GPU are required.

03

BranchIntroducedFixed inPatch commit
6.126.46.12.1039d6cbb76fe9c
6.186.46.18.44282f261cb035
6.66.46.6.15121bbe38faee4
7.16.47.1.83b2bb16a5b62
mainline6.47.283195b778f2d
cip/6.126.46.12.104-cip309d6cbb76fe9c

04

State of the newest release of each Civil Infrastructure Platform SLTS tree, from CIP's own fix records.

CIP treeState
cip/6.12Fixed in 6.12.104-cip30