Skip to main content
← All vulnerabilities
CVE-2026-98181

drm/gud: fix out-of-bounds write in gud_plane_atomic_check()

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 5.15.222, 6.1.189, 6.6.158, 6.12.112, 6.18.54, and 1 more
None on Exploit-DB, Metasploit or GitHub

Summary

In the Linux kernel, the following vulnerability has been resolved: drm/gud: fix out-of-bounds write in gud_plane_atomic_check() The plane property loop uses req->properties[num_properties + i] as write index while simultaneously incrementing `num_properties` inside the loop. At iteration i, num_properties has also incremented by i, so the write is done at `initial_num_properties + 2*i`, skipping every other index and advancing by 2 per iteration. With just 2 connector and 32 plane properties the last write happens at index 64, one slot past the end of the 64-slot (indices 0–63) allocation. A USB device can trigger OOB by advertising the maximum number of properties. Fix by dropping the redundant `+ i`; num_properties is already the correct running index, as gud_connector_fill_properties() fills the preceding slots.

Timeline

  1. CVE published
  2. Record last updated

Affected versions

  • Linux Linux

    From 40e1a70b4aedf2859a1829991b48ef0ebe650bf2 · fixed in ee04903fe6a098160d20dde4fc5af4cb42846735; From 40e1a70b4aedf2859a1829991b48ef0ebe650bf2 · fixed in 4153a9e008f2512bd3cf90a319436865847369b9; From 40e1a70b4aedf2859a1829991b48ef0ebe650bf2 · fixed in 5f5e565410b4987e9663f599f9ab0c350f8338d4; From 40e1a70b4aedf2859a1829991b48ef0ebe650bf2 · fixed in 7e630edb22088df7aa0d55b02237a71e4c9a523d; From 40e1a70b4aedf2859a1829991b48ef0ebe650bf2 · fixed in 2c92af27ad23e2fbc0367b11a9027d36d94ef4b3; From 40e1a70b4aedf2859a1829991b48ef0ebe650bf2 · fixed in ea57100955c1c2a525ba1a98c18d9a05b25aeedb; From 40e1a70b4aedf2859a1829991b48ef0ebe650bf2 · fixed in 59ced288fcba9e91bd38e61a972ad782c4edb7d0

  • Linux Linux

    5.13

  • KernelLinux

    From 5.13.0 · fixed in 5.15.222; From 5.16.0 · fixed in 6.1.189; From 6.2.0 · fixed in 6.6.158; From 6.7.0 · fixed in 6.12.112; From 6.13.0 · fixed in 6.18.54; From 6.19.0 · fixed in 7.2.8

References 7

git.kernel.org