CVE-2026-80887

Summary

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.

Affected Software

VendorProductVersion RangeStatus
LinuxLinux668b206601c5f5063e03b76784a0d3024fa2b249 < 1bbe7751f5ebac383405ef29a66622d65bd505d3affected
LinuxLinux668b206601c5f5063e03b76784a0d3024fa2b249 < d3f44438aa805270aaead3b6840ccaea0f4c11f9affected
LinuxLinux668b206601c5f5063e03b76784a0d3024fa2b249 < cfd163169af3be56eaef113c680ea251f0d09189affected
LinuxLinux668b206601c5f5063e03b76784a0d3024fa2b249 < 5c725901908eb1e52a16fc0e2373cb761df42d21affected
LinuxLinux668b206601c5f5063e03b76784a0d3024fa2b249 < 54d56d5b42d2e4c72ba6e365e9774da90698aa22affected
LinuxLinux6.4affected
LinuxLinux0 < 6.4unaffected
LinuxLinux6.6.151 <= 6.6.*unaffected
LinuxLinux6.12.103 <= 6.12.*unaffected
LinuxLinux6.18.44 <= 6.18.*unaffected
LinuxLinux7.1.8 <= 7.1.*unaffected
LinuxLinux7.2 <= *unaffected

Weaknesses

References