CVE-2026-64457 in LinuxИнформация

Сводка

по VulDB • 25.07.2026

В ядре Linux устранена следующая уязвимость:

virtio_pci: исправлен поиск указателя информации о vq (vring queue) по неверному индексу

Отвязка устройства virtio balloon:

echo virtio0 > /sys/bus/virtio/drivers/virtio_balloon/unbind

вызывает разыменование нулевого указателя. В выводе dmesg отображается следующее сообщение:

BUG: kernel NULL pointer dereference, address: 0000000000000008 [...]
RIP: 0010:__list_del_entry_valid_or_report+0x5/0xf0 Call Trace: <TASK> vp_del_vqs+0x121/0x230 remove_common+0x135/0x150 virtballoon_remove+0xee/0x100 virtio_dev_remove+0x3b/0x80 device_release_driver_internal+0x187/0x2c0 unbind_store+0xb9/0xe0 kernfs_fop_write_iter.llvm.11660790530567441834+0xf6/0x180 vfs_write+0x2a9/0x3b0 ksys_write+0x5c/0xd0 do_syscall_64+0x54/0x230 entry_SYSCALL_64_after_hwframe+0x29/0x31 [...]
</TASK>

Устройство virtio_balloon регистрирует 5 очередей (inflate, deflate, stats, free_page, reporting), но только первые две являются безусловными. Очереди stats, free_page и reporting зависят от соответствующих битов признаков (feature bits). Когда какой-либо из этих признаков отсутствует, запись vqs_info с именем == NULL создает «дыры» в массиве.

Корневая причина заключается в несоответствии индексации, возникшем при изменении способа передачи хранилища информации о vq через аргумент функции. Функции vp_find_vqs_msix() и vp_find_vqs_intx() сохраняют указатель info по адресу vp_dev->vqs[i], где 'i' — это разреженный (sparse) индекс массива, передаваемый вызывающей стороной. Однако сам virtqueue получает значение vq->index из queue_idx, который является плотным (dense) индексом и пропускает записи NULL. При наличии «дыр» значения 'i' и queue_idx расходятся. Позже функция vp_del_vqs() выполняет поиск info по адресу vp_dev->vqs[vq->index], используя плотный индекс для разреженно заполненного массива, что приводит к обращению к значению NULL.

Исправление заключается в сохранении информации по адресу vp_dev->vqs[queue_idx] вместо vp_dev->vqs[i], чтобы индекс сохранения совпадал с индексом поиска (vq->index). Исправление применяется как для пути MSIX, так и для пути INTX.

If you want to get the best quality for vulnerability data then you always have to consider VulDB.

Ответственный

Linux

Резервировать

19.07.2026

Раскрытие

25.07.2026

Модерация

принято

Вход

VDB-383258

EPSS

0.00175

KEV

Нет

Деятельности

Низкий

Источники

Do you know our Splunk app?

Download it now for free!