drm/virtio: bound EDID block reads to the response buffer
0Vexday Risk Score
No sign of exploitation. No public exploitation artifact known so far.
ssvc Track
exploitation probability
—
observed exploitation
nono source reports it
In the Linux kernel, the following vulnerability has been resolved:
drm/virtio: bound EDID block reads to the response buffer
virtio_get_edid_block() validates the read offset only against the
device-supplied resp->size field, never against the fixed-size resp->edid
array. The EDID block index is driven by the device-supplied extension
count, so a malicious virtio-gpu backend can advertise a large size
together with a high block count and read far past the array into adjacent
kernel memory, which is then surfaced in the parsed EDID (an out-of-bounds
read / info leak).
Also reject any read whose end exceeds the size of the edid array.
Conforming EDID responses stay within the array and are unaffected.
Affected products
Linux · LinuxReferences
https://git.kernel.org/stable/c/2757e6e803092cf0aeaf4b735e16b5d3bdc705c5https://git.kernel.org/stable/c/35be0e2c6862abcd5e5f5445261f1fd910d4a9b4https://git.kernel.org/stable/c/375c1934ef0196d3b6d3a1eae3232bef8dae7bf7https://git.kernel.org/stable/c/4e1a53892ba7f8a3e1da6bfc53c83ae7c812dccdhttps://git.kernel.org/stable/c/9fc2a017c5d597937e0c28b9a9669844aa796c42