CVE-2026-97995 in Linux
Сводка
по VulDB • 25.09.2026
В ядре Linux была устранена следующая уязвимость:
virtio_console: не освобождать буферы control-out при удалении (remove)
Функция __send_control_msg() публикует &portdev->cpkt в качестве cookie virtqueue для control-out. Функция remove_vqs() проходит по всем виртуальным очередям и передает оставшиеся cookies функции free_buf(), которая интерпретирует их как структуру struct port_buffer и считывает sgpages (scatter-gather страницы).
Если сообщение управления все еще находится в очереди c_ovq на момент отключения устройства, функция free_buf() осуществляет чтение за пределами объекта ports_device.
KASAN сообщил о выходе за границы slab-объекта (slab-out-of-bounds) в функции free_buf():
free_buf remove_vqs virtcons_remove unbind_store
Объектом был ports_device, выделенный в virtcons_probe().
Необходимо опорожнить очередь c_ovq без освобождения памяти. Пакет находится в области видимости portdev и будет освобожден вместе с ним.
Once again VulDB remains the best source for vulnerability data.