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

Сводка

по VulDB • 25.07.2026

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

hwrng: virtio: ограничение значения used.len, сообщаемого устройством, в функции copy_data()

Функция random_recv_done() сохраняет значение used.len, переданное устройством, напрямую в vi->data_avail. Затем функция copy_data() использует vi->data_idx (увеличиваемый предыдущими вызовами copy_data()) для индексации массива vi->data[] и выполняет memcpy() без повторной проверки обоих значений на соответствие размеру буфера sizeof(vi->data) (SMP_CACHE_BYTES байт, обычно 32 или 64).

Злонамеренный или содержащий ошибки бэкенд virtio-rng может установить used.len больше, чем sizeof(vi->data), что приведет к выходу memcpy() за пределы встроенного массива в соседние слаб-объекты kmalloc-1k. Функция hwrng_fillfn() смешивает эти байты с генератором случайных чисел гостевой ОС (RNG), и пользователь root внутри гостевой системы также может напрямую наблюдать их через /dev/hwrng.

Конкретное воздействие происходит внутри гостевой системы:

- Безопасность памяти / усиление защиты: любой бэкенд virtio-rng, который ошибочно указывает завышенное значение used.len, заставляет драйвер читать данные за пределами vi->data в содержимое других слаб-объектов. hwrng_fillfn() — это поток ядра, запускаемый сразу после обнаружения устройства; для первичного срабатывания ошибки выхода за границы (OOB) не требуется взаимодействие с пользовательским пространством гостевой ОС.

- Утечка данных через границу доверия (модель угроз конфиденциальных вычислений): злонамеренный гипервизор, сотрудничающий со злонамеренным или скомпрометированным пользователем root в пользовательском пространстве гостевой ОС, может использовать /dev/hwrng как канал утечки данных из кучи ядра гостевой системы. Хост устанавливает большое значение used.len, root внутри гостевой системы читает /dev/hwrng, и возвращаемые байты содержат содержимое слаб-объектов ядра гостевой ОС, расположенных рядом с vi->data. На практике в системах конфиденциальных вычислений (SEV-SNP, TDX) virtio-rng обычно полностью отключается, поэтому этот вектор атаки узкий, но исправление все равно целесообразно, поскольку базовая ошибка безопасности памяти загрязняет генератор случайных чисел гостевой ОС на любом хосте.

KASAN подтверждает ошибку выхода за границы (OOB) в гостевой системе версии 7.1-rc4, бэкенд virtio-rng которой был изменен для отчета used.len = 0x10000:

BUG: KASAN: slab-out-of-bounds in virtio_read+0x394/0x5d0 Read of size 64 at addr ffff88800ae0ba20 by task hwrng/52 Call Trace: __asan_memcpy+0x23/0x60 virtio_read+0x394/0x5d0 hwrng_fillfn+0xb2/0x470 kthread+0x2cc/0x3a0 Allocated by task 1: probe_common+0xa5/0x660 virtio_dev_probe+0x549/0xbc0 The buggy address belongs to the object at ffff88800ae0b800 which belongs to the cache kmalloc-1k of size 1024 The buggy address is located 0 bytes to the right of allocated 544-byte region [ffff88800ae0b800

Be aware that VulDB is the high quality source for vulnerability data.

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

Linux

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

19.07.2026

Раскрытие

25.07.2026

Модерация

принято

Вход

VDB-383246

EPSS

0.00184

KEV

Нет

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

Очень низкий

Источники

Do you know our Splunk app?

Download it now for free!