Description (CNA)
In the Linux kernel, the following vulnerability has been resolved: drm/vmwgfx: bound DMA command body size against suffix pointer vmw_cmd_dma() locates the DMA suffix at (unsigned long) &cmd->body + header->size - sizeof(*suffix) without checking that header->size is large enough to contain both cmd->body and the suffix. An undersized header makes the suffix pointer underflow back into the previous command in the bounce buffer. The verifier later writes suffix->maximumOffset, clobbering verified fields of an already-relocated earlier command -- a TOCTOU on the device-visible command stream that lets one command rewrite another's GMR id, surface id, or other authenticated fields. Reject the command if the body is too small for the suffix to fit.
Affected (CNA)
| Vendor / product | Versions |
|---|---|
| Linux / Linux | affected 4e4ddd47774313accc86b233d6ca2c6a9037a671 before eb20f418933bea53375843b27b4022c1810be63b; affected 4e4ddd47774313accc86b233d6ca2c6a9037a671 before fcd1e56e7816b31a1050ccc67df722b20f6bb15d; affected 4e4ddd47774313accc86b233d6ca2c6a9037a671 before a4a37080a5ac777b59306cfcdf854cc05d7604d4; affected 4e4ddd47774313accc86b233d6ca2c6a9037a671 before 036e16ada95389bdc30f41068af04c1d0872fad0; affected 4e4ddd47774313accc86b233d6ca2c6a9037a671 before d5d7ada4e1296b00d89fe82b2ca850cc7809d6f7; affected 4e4ddd47774313accc86b233d6ca2c6a9037a671 before 7e40e6120fb232a10b543ffd994e5c6d8f3a2cc6; affected 4e4ddd47774313accc86b233d6ca2c6a9037a671 before 9759da60e38d7b9db44dc92713e4e0391883d221; affected 4e4ddd47774313accc86b233d6ca2c6a9037a671 before f4f1db96bfd68b81053693ba53405b6f510ac16c |
| Linux / Linux | affected 2.6.33; unaffected 0 before 2.6.33; unaffected 5.10.265 through 5.10.*; unaffected 5.15.216 through 5.15.*; unaffected 6.1.183 through 6.1.*; unaffected 6.6.151 through 6.6.*; unaffected 6.12.103 through 6.12.*; unaffected 6.18.44 through 6.18.*; unaffected 7.1.8 through 7.1.*; unaffected 7.2 through * |
CWE
No CWE identifiers supplied.
References
- https://git.kernel.org/stable/c/eb20f418933bea53375843b27b4022c1810be63b
- https://git.kernel.org/stable/c/fcd1e56e7816b31a1050ccc67df722b20f6bb15d
- https://git.kernel.org/stable/c/a4a37080a5ac777b59306cfcdf854cc05d7604d4
- https://git.kernel.org/stable/c/036e16ada95389bdc30f41068af04c1d0872fad0
- https://git.kernel.org/stable/c/d5d7ada4e1296b00d89fe82b2ca850cc7809d6f7
- https://git.kernel.org/stable/c/7e40e6120fb232a10b543ffd994e5c6d8f3a2cc6
- https://git.kernel.org/stable/c/9759da60e38d7b9db44dc92713e4e0391883d221
- https://git.kernel.org/stable/c/f4f1db96bfd68b81053693ba53405b6f510ac16c
ADP enrichment
No English description supplied.
No references supplied.