All of lore.kernel.org
 help / color / mirror / Atom feed
* CVE-2026-64546: drm/edid: fix OOB read in drm_parse_tiled_block()
@ 2026-07-27 20:10 Greg Kroah-Hartman
  0 siblings, 0 replies; only message in thread
From: Greg Kroah-Hartman @ 2026-07-27 20:10 UTC (permalink / raw)
  To: linux-cve-announce; +Cc: Greg Kroah-Hartman

From: Greg Kroah-Hartman <gregkh@kernel.org>

Description
===========

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

drm/edid: fix OOB read in drm_parse_tiled_block()

drm_parse_tiled_block() casts the DisplayID block to a
struct displayid_tiled_block and reads the full fixed layout up to
tile->topology_id[7] without checking block->num_bytes. The DisplayID
iterator only validates the declared payload length, so a crafted EDID
can advertise a tiled-display block (tag DATA_BLOCK_TILED_DISPLAY, or
DATA_BLOCK_2_TILED_DISPLAY_TOPOLOGY for v2.0) with a small num_bytes at
the end of a DisplayID extension. The read then runs past the end of the
exact-sized kmemdup()'d EDID allocation, a heap out-of-bounds read.

Reject blocks shorter than the spec's 22-byte tiled payload before
reading the fixed struct, as drm_parse_vesa_mso_data() already does.

  BUG: KASAN: slab-out-of-bounds in drm_edid_connector_update
  Read of size 2 at addr ffff888010077700 by task exploit/147
   dump_stack_lvl (lib/dump_stack.c:94 ...)
   print_report (mm/kasan/report.c:378 ...)
   kasan_report (mm/kasan/report.c:595)
   drm_edid_connector_update (drivers/gpu/drm/drm_edid.c:7581)
   bochs_connector_helper_get_modes (drivers/gpu/drm/tiny/bochs.c:574)
   drm_helper_probe_single_connector_modes (drivers/gpu/drm/drm_probe_helper.c:426)
   status_store (drivers/gpu/drm/drm_sysfs.c:219)
   ...
   vfs_write (fs/read_write.c:595 fs/read_write.c:688)
   ksys_write (fs/read_write.c:740)

The Linux kernel CVE team has assigned CVE-2026-64546 to this issue.


Affected and fixed versions
===========================

	Issue introduced in 3.19 with commit 40d9b043a89e2301e1f97ade055a73ecc28e9afe and fixed in 5.10.261 with commit c4ab04ca1bbf87eefa9fec5c80e1880450d2e7c0
	Issue introduced in 3.19 with commit 40d9b043a89e2301e1f97ade055a73ecc28e9afe and fixed in 5.15.212 with commit 9acd5c1ddc17ca4c5ffa0c373e3fdf480506e061
	Issue introduced in 3.19 with commit 40d9b043a89e2301e1f97ade055a73ecc28e9afe and fixed in 6.1.178 with commit 157727131ce8a52d8d9bc676c372ef82db6436c4
	Issue introduced in 3.19 with commit 40d9b043a89e2301e1f97ade055a73ecc28e9afe and fixed in 6.6.145 with commit bfa05d89dc3ca3fb1a9099ef5185549a5ec8490d
	Issue introduced in 3.19 with commit 40d9b043a89e2301e1f97ade055a73ecc28e9afe and fixed in 6.12.97 with commit 4f5484d25f85ad6c989bad5f6a43450cecfcfd28
	Issue introduced in 3.19 with commit 40d9b043a89e2301e1f97ade055a73ecc28e9afe and fixed in 6.18.40 with commit 9cc0f8e63e8c34cf43def35cbd305ba711181a1f
	Issue introduced in 3.19 with commit 40d9b043a89e2301e1f97ade055a73ecc28e9afe and fixed in 7.1.5 with commit 4137e1ecec9c8cb6c4fcee28ffabbbc7409eb7fb
	Issue introduced in 3.19 with commit 40d9b043a89e2301e1f97ade055a73ecc28e9afe and fixed in 7.2-rc1 with commit faaa1e1155833e7d4ce7e3cfaf64c0d636b190db

Please see https://www.kernel.org for a full list of currently supported
kernel versions by the kernel community.

Unaffected versions might change over time as fixes are backported to
older supported kernel versions.  The official CVE entry at
	https://cve.org/CVERecord/?id=CVE-2026-64546
will be updated if fixes are backported, please check that for the most
up to date information about this issue.


Affected files
==============

The file(s) affected by this issue are:
	drivers/gpu/drm/drm_edid.c


Mitigation
==========

The Linux kernel CVE team recommends that you update to the latest
stable kernel version for this, and many other bugfixes.  Individual
changes are never tested alone, but rather are part of a larger kernel
release.  Cherry-picking individual commits is not recommended or
supported by the Linux kernel community at all.  If however, updating to
the latest release is impossible, the individual changes to resolve this
issue can be found at these commits:
	https://git.kernel.org/stable/c/c4ab04ca1bbf87eefa9fec5c80e1880450d2e7c0
	https://git.kernel.org/stable/c/9acd5c1ddc17ca4c5ffa0c373e3fdf480506e061
	https://git.kernel.org/stable/c/157727131ce8a52d8d9bc676c372ef82db6436c4
	https://git.kernel.org/stable/c/bfa05d89dc3ca3fb1a9099ef5185549a5ec8490d
	https://git.kernel.org/stable/c/4f5484d25f85ad6c989bad5f6a43450cecfcfd28
	https://git.kernel.org/stable/c/9cc0f8e63e8c34cf43def35cbd305ba711181a1f
	https://git.kernel.org/stable/c/4137e1ecec9c8cb6c4fcee28ffabbbc7409eb7fb
	https://git.kernel.org/stable/c/faaa1e1155833e7d4ce7e3cfaf64c0d636b190db

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2026-07-27 20:11 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-07-27 20:10 CVE-2026-64546: drm/edid: fix OOB read in drm_parse_tiled_block() Greg Kroah-Hartman

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.