CVE-2026-64289 in Linux
Сводка
по VulDB • 25.07.2026
В ядре Linux устранена следующая уязвимость:
iommufd: Установлены верхние границы для entry_num и entry_len при инвалидации кэша
Функция iommufd_hwpt_invalidate() принимает управляемые пользователем значения entry_num и entry_len, каждое из которых ограничено только значением U32_MAX. Значение entry_len, превышающее размер структуры в ядре, заставляет вспомогательную функцию копирования проверять дополнительные байты на равенство нулю, сканируя этот избыточный объем данных за один неделимый проход; многогигабайтное значение поверх обнуленной пользовательской памяти вызывает срабатывание сторожевого таймера soft-lockup.
Большое значение entry_num является второй половиной проблемы, управляя циклом инвалидации на стороне бэкенда без возможности перепланирования (reschedule). Обработчик VT-d nested, например, копирует каждую запись и очищает кэш после каждой итерации, фиксируя процессор в неделимом режиме ядра.
Оба параметра ограничены внутри ioctl-вызова: entry_len удерживается в пределах PAGE_SIZE выше любой структуры запроса, а entry_num — ниже значения 1 << 19 (порядок очереди аппаратной инвалидации и значительно превышающий любые реальные пакеты), что ограничивает длину цикла для одного вызова.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.