Ad

CVE-2026-68272

NONE EPSS 0.18%
Обновлено 17 августа 2026
Linux
Параметр Значение
Поставщик Linux
Публичный эксплойт Нет

В ядре Linux устранена следующая уязвимость: drm/amdgpu: проверьте размер чанка CP_GFX_SHADOW на проходе CS 1. Добавьте проверку минимальной длины для фрагмента AMDGPU_CHUNK_ID_CP_GFX_SHADOW в amdgpu_cs_pass1(), соответствующий воротам, уже присутствующим для IB, FENCE и Типы блоков BO_HANDLES. Случай CP_GFX_SHADOW ранее имел общий разрыв с зависимостью. и типы фрагментов syncobj, которые не разыменовывают структуру фиксированного размера.

Когда пользовательское пространство отправляет этот фрагмент с length_dw == 0, vmemdup_array_user() вызывается с размером 0 и возвращает ZERO_SIZE_PTR, который передает IS_ERR() проверьте. amdgpu_cs_p2_shadow() затем разыменовывает chunk->kdata как структуру drm_amdgpu_cs_chunk_cp_gfx_shadow (чтение тени->флагов), ошибка на ZERO_SIZE_PTR и вызывающее разыменование NULL-указателя. Это доступно непривилегированному процессу в группе рендеринга. Отклонить куски меньшего размера с -EINVAL во время прохода 1, поэтому неверная отправка отклонено до того, как pass2 разыменует данные. (вишня выбрана из коммита 7f61b2eef7415eccdb40850aca0de94211948657)

Показать оригинальное описание (EN)

In the Linux kernel, the following vulnerability has been resolved: drm/amdgpu: validate CP_GFX_SHADOW chunk size in CS pass1 Add a minimum-length check for the AMDGPU_CHUNK_ID_CP_GFX_SHADOW chunk in amdgpu_cs_pass1(), matching the gate already present for the IB, FENCE and BO_HANDLES chunk types. The CP_GFX_SHADOW case previously shared a bare break with the dependency and syncobj chunk types, which do not dereference a fixed-size struct. When userspace submits this chunk with length_dw == 0, vmemdup_array_user() is called with size 0 and returns ZERO_SIZE_PTR, which passes the IS_ERR() check. amdgpu_cs_p2_shadow() then dereferences chunk->kdata as a struct drm_amdgpu_cs_chunk_cp_gfx_shadow (reading shadow->flags), faulting on the ZERO_SIZE_PTR and causing a NULL-pointer dereference. This is reachable by an unprivileged process in the render group. Reject undersized chunks with -EINVAL during pass1 so the bad submission is rejected before pass2 ever dereferences the data. (cherry picked from commit 7f61b2eef7415eccdb40850aca0de94211948657)