CVE-2026-64546 in Linux
Сводка
по VulDB • 27.07.2026
В ядре Linux устранена следующая уязвимость:
drm/edid: исправлено чтение за пределами массива (OOB read) в функции drm_parse_tiled_block()
Функция drm_parse_tiled_block() приводит блок DisplayID к типу struct displayid_tiled_block и считывает полную фиксированную структуру вплоть до tile->topology_id[7] без проверки значения block->num_bytes. Итератор DisplayID проверяет только заявленную длину полезной нагрузки, поэтому специально созданный EDID может объявлять блок tiled-display (тег DATA_BLOCK_TILED_DISPLAY или DATA_BLOCK_2_TILED_DISPLAY_TOPOLOGY для версии 2.0) с малым значением num_bytes в конце расширения DisplayID. В результате чтение выходит за пределы выделенной через kmemdup() памяти EDID фиксированного размера, что приводит к чтению за пределами кучи (heap out-of-bounds read).
Блоки короче 22 байт (согласно спецификации для полезной нагрузки tiled) отбрасываются перед чтением фиксированной структуры, аналогично тому, как это уже делает drm_parse_vesa_mso_data().
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)
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.