CVE-2026-74444

Summary

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

drm/vmwgfx: validate DRAW_PRIMITIVES header size before division

vmw_cmd_draw() computes

maxnum = (header->size - sizeof(cmd->body)) / sizeof(*decl);

where header->size is u32 and is taken straight from the user-supplied command stream. When header->size is less than sizeof(cmd->body) the unsigned subtraction wraps to nearly 4 GiB, producing a huge maxnum. Any user-controlled cmd->body.numVertexDecls then passes the bound and the loop dereferences decl[i] far past the end of the kernel command bounce buffer, producing an out-of-bounds read of kernel memory.

Reject undersized headers up front.

Affected Software

VendorProductVersion RangeStatus
LinuxLinux7a73ba7469cbea631050094fd14f73acebb97cf9 < 2666cddf0dd218aa9bd1f99db688d1b532eac21aaffected
LinuxLinux7a73ba7469cbea631050094fd14f73acebb97cf9 < fc0c02f510e41650df3479f96e257acf87d8a20aaffected
LinuxLinux7a73ba7469cbea631050094fd14f73acebb97cf9 < dc0be7662b7b0ce28cb5eea864737793ed7b9e70affected
LinuxLinux7a73ba7469cbea631050094fd14f73acebb97cf9 < c77cf8edae2bd3a1599115301cc7c98d0c78e731affected
LinuxLinux7a73ba7469cbea631050094fd14f73acebb97cf9 < 85891d174707d8bddcec7a888fb4e1d17def34f3affected
LinuxLinux2.6.33affected
LinuxLinux0 < 2.6.33unaffected
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-rc6 <= *unaffected

Weaknesses

References