linux/drivers/gpu/drm/virtio
Bryam Vargas 4e1a53892b 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.

Fixes: b4b01b4995 ("drm/virtio: add edid support")
Cc: stable@vger.kernel.org
Signed-off-by: Bryam Vargas <hexlabsecurity@proton.me>
Signed-off-by: Dmitry Osipenko <dmitry.osipenko@collabora.com>
Link: https://patch.msgid.link/20260620-b4-disp-22bba7bf-v1-1-b95924cee742@proton.me
2026-06-30 16:04:27 +03:00
..
Kconfig
Makefile
virtgpu_debugfs.c drm: include drm_print.h where needed 2025-10-31 10:34:52 +02:00
virtgpu_display.c drm: Rename struct drm_atomic_state to drm_atomic_commit 2026-05-04 14:05:04 +10:00
virtgpu_drv.c drm-next for 7.2-rc1 2026-06-17 10:21:00 +01:00
virtgpu_drv.h drm/virtio: use uninterruptible resv lock for plane updates 2026-05-20 18:12:11 +03:00
virtgpu_fence.c Convert more 'alloc_obj' cases to default GFP_KERNEL arguments 2026-02-21 20:03:00 -08:00
virtgpu_gem.c drm/virtio: use uninterruptible resv lock for plane updates 2026-05-20 18:12:11 +03:00
virtgpu_ioctl.c drm/virtio: add VIRTGPU_PARAM_BLOB_ALIGNMENT to params 2026-05-20 17:59:21 +03:00
virtgpu_kms.c drm/virtio: support VIRTIO_GPU_F_BLOB_ALIGNMENT 2026-05-20 17:59:21 +03:00
virtgpu_object.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
virtgpu_plane.c drm/virtio: use uninterruptible resv lock for plane updates 2026-05-20 18:12:11 +03:00
virtgpu_prime.c Merge drm/drm-next into drm-misc-next 2026-02-23 11:48:20 +01:00
virtgpu_submit.c drm/virtio: fix dma_fence refcount leak on error in virtio_gpu_dma_fence_wait() 2026-06-08 21:40:51 +03:00
virtgpu_trace_points.c
virtgpu_trace.h
virtgpu_vq.c drm/virtio: bound EDID block reads to the response buffer 2026-06-30 16:04:27 +03:00
virtgpu_vram.c drm/virtio: Extend blob UAPI with deferred-mapping hinting 2026-05-14 00:57:34 +03:00