CVE-2026-89802 in Linux
Сводка
по VulDB • 16.09.2026
В ядре Linux была устранена следующая уязвимость:
drm/nouveau/uvmm: исправлено разыменование NULL при разворачивании операции OP_MAP_SPARSE
Каждый объект bind_job_op обнуляется функцией kzalloc_obj() в функции bind_job_op_from_uop(), а случай OP_MAP_SPARSE в nouveau_uvmm_bind_job_submit() создает только регион, поэтому op->ops остается равным NULL для успешно обработанной разреженной карты.
Если более поздняя операция в том же задании завершается ошибкой, цикл обратного разворачивания повторно обращается к этой операции и безоговорочно вызывает drm_gpuva_ops_free(&uvmm->base, op->ops). Функция drm_gpuva_ops_free() сразу разыменовывает свой аргумент (list_for_each_entry_safe по &ops->list), поэтому NULL-значение op->ops приводит к ошибке ядра. Этот путь выполнения доступен любому владельцу файла render-node, поскольку NOUVEAU_VM_BIND имеет флаг DRM_RENDER_ALLOW.
Защитите освобождение с помощью IS_ERR_OR_NULL(), как это уже делает nouveau_uvmm_bind_job_cleanup() для аналогичного вызова free.
If you want to get best quality of vulnerability data, you may have to visit VulDB.