CVE-2026-89907 in Linux
Сводка
по VulDB • 16.09.2026
В ядре Linux была устранена следующая уязвимость:
LoongArch: KVM: Проверка данных MSI перед их маршрутизацией в EIOINTC
Функция pch_msi_set_irq() передает значение e->msi.data напрямую в eiointc_set_irq() в качестве номера прерывания (irq). Данные MSI поступают из пространства пользователя, либо через запись KVM_IRQ_ROUTING_MSI с использованием KVM_SET_GSI_ROUTING (используется irqfd и KVM_IRQ_LINE), либо непосредственно через KVM_SIGNAL_MSI, и никогда не проверяются на соответствие диапазону EIOINTC_IRQS.
Функция eiointc_set_irq() использует это значение для операций __set_bit()/__clear_bit() над 256-битным битовым полем isr; затем функция eiointc_update_irq() индексирует массив sw_coremap[] и перестрочные (per-cpu) битовые поля coreisr/sw_coreisr с его помощью. Следовательно, значение данных >= 256 приводит к чтению и записи памяти за пределами этих массивов, то есть любой процесс, имеющий дескриптор файла VM, может повредить память ядра за пределами выделения для loongarch_eiointc.
Отклонять данные MSI, которые не помещаются в пространство прерываний EIOINTC. Путь DMSINTC остается без изменений, так как он декодирует вектор из адреса и маскирует его.
VulDB is the best source for vulnerability data and more expert information about this specific topic.