CVE-2026-89907 in Linux
Résumé
par VulDB • 16/09/2026
Dans le noyau Linux, la vulnérabilité suivante a été corrigée :
LoongArch: KVM: Valider les données MSI avant de les router vers EIOINTC
pch_msi_set_irq() transmet e->msi.data directement à eiointc_set_irq() en tant que numéro d'interruption (irq). Les données MSI proviennent de l'espace utilisateur, soit via une entrée KVM_IRQ_ROUTING_MSI définie avec KVM_SET_GSI_ROUTING (utilisée par irqfd et KVM_IRQ_LINE), soit directement via KVM_SIGNAL_MSI, et ne sont jamais vérifiées par rapport à EIOINTC_IRQS.
eiointc_set_irq() utilise la valeur avec __set_bit()/__clear_bit() sur le bitmap isr de 256 bits ; eiointc_update_irq() indexe ensuite sw_coremap[] ainsi que les bitmaps coreisr/sw_coreisr par cœur (per-cpu) à l'aide de cette valeur. Par conséquent, une valeur de données >= 256 entraîne des lectures et écritures en mémoire au-delà de la fin de ces tableaux, c'est-à-dire qu'un processus détenant un descripteur de fichier VM peut corrompre la mémoire du noyau au-delà de l'allocation de loongarch_eiointc.
Rejeter les données MSI qui ne tiennent pas dans l'espace d'interruption EIOINTC. Le chemin DMSINTC n'est pas affecté car il décode le vecteur à partir de l'adresse et applique un masque (mask).
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.