HIGH Introduced in 6.4
vmwgfx GuestMemory Corruption
CVE-2026-80702
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
KernelScan AI7.7HIGH
01Description
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.
02KernelScan AI Analysis
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.
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.
Lifecycle
03Fix Versions
| Branch | Introduced | Fixed in | Patch commit |
|---|---|---|---|
| 6.6 | 6.4 | 6.6.151 | 21bbe38faee4 |
| 6.18 | 6.4 | 6.18.44 | 282f261cb035 |
| 6.12 | 6.4 | 6.12.103 | 9d6cbb76fe9c |
| 7.1 | 6.4 | 7.1.8 | 3b2bb16a5b62 |
| mainline | 6.4 | 7.2 | 83195b778f2d |
| cip/6.12 | 6.4 | 6.12.104-cip30 | 9d6cbb76fe9c |