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

drm/vmwgfx: use check_add_overflow for shader size+offset bound

vmw_shader_define() validates the user-supplied shader window against
its backing buffer with

(u64)buffer->tbo.base.size < (u64)size + (u64)offset

drm_vmw_shader_create_arg::offset is __u64 in the uapi; when it is
near U64_MAX the unsigned addition wraps and the resulting tiny value
passes the check. The unbounded offset is then stored in
res->guest_memory_offset and forwarded to host SVGA shader-create
commands.

Use check_add_overflow() to detect the wrap and compare the resulting
endpoint against the buffer size.
Published: 2026-09-04
Score: n/a
EPSS: < 1% Very Low
KEV: No
Impact: Privilege Escalation
Action: Patch Now
AI Analysis

Impact

In the Linux kernel’s vmwgfx DRM driver, the vmw_shader_define() function validated a user‑supplied shader window by checking that the buffer’s size was less than the sum of a shader size and an offset. Because the offset was a 64‑bit unsigned value, adding it to the size could wrap around when it was near the maximum value of a 64‑bit integer. The wrap caused the resulting addition to appear small, allowing the check to succeed falsely. The unbounded offset was then stored as a guest memory offset and forwarded to the host’s SVGA shader‑create commands, giving the attacker a way to reference memory beyond the intended buffer. This can corrupt kernel data or trigger a kernel crash, providing a path to gain elevated privileges or cause denial of service.

Affected Systems

Any Linux kernel version that includes the vmwgfx DRM driver and contains the flawed vmw_shader_define logic is potentially affected. No specific kernel releases were listed, so the issue applies to all kernels where this validation code is present.

Risk and Exploitability

The flaw requires interaction with the DRM interface, typically exposed via /dev/dri/cardX devices. If an attacker can create a DRM shader with an offset close to U64_MAX, the unsigned addition will wrap and pass the bounds check. The vulnerability is a classic integer overflow leading to out‑of‑bounds memory access with the potential for kernel privilege escalation. The EPSS score is not available and the CVE is not listed in CISA's KEV catalog, indicating no confirmed exploitation reports. Nonetheless, the severity is high given the kernel memory corruption vector and the potential impact on confidentiality, integrity, and availability.

Generated by OpenCVE AI on September 4, 2026 at 21:07 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade the kernel to a release that contains the vmwgfx integer‑overflow fix referenced in the provided commit logs.
  • If a kernel upgrade is not immediately possible, restrict access to the /dev/dri/cardX device used by vmwgfx so that only trusted users or root can use it, for example by applying appropriate udev rules that set ownership and permissions.
  • Consider applying the patch manually when building a custom kernel, or check vendor advisories for a predetermined update.

Generated by OpenCVE AI on September 4, 2026 at 21:07 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Debian DLA Debian DLA DLA-4788-1 linux-6.12 security update
History

Fri, 04 Sep 2026 21:30:00 +0000

Type Values Removed Values Added
Weaknesses CWE-190
CWE-787

Fri, 04 Sep 2026 17:30:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: drm/vmwgfx: use check_add_overflow for shader size+offset bound vmw_shader_define() validates the user-supplied shader window against its backing buffer with (u64)buffer->tbo.base.size < (u64)size + (u64)offset drm_vmw_shader_create_arg::offset is __u64 in the uapi; when it is near U64_MAX the unsigned addition wraps and the resulting tiny value passes the check. The unbounded offset is then stored in res->guest_memory_offset and forwarded to host SVGA shader-create commands. Use check_add_overflow() to detect the wrap and compare the resulting endpoint against the buffer size.
Title drm/vmwgfx: use check_add_overflow for shader size+offset bound
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-09-04T17:11:04.063Z

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

Link: CVE-2026-80887

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-09-04T18:17:56.667

Modified: 2026-09-04T18:17:56.667

Link: CVE-2026-80887

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-09-04T23:45:17Z

Weaknesses