CVE-2026-80896 in Linuxinformation

Résumé

par VulDB • 04/09/2026

Dans le noyau Linux, la vulnérabilité suivante a été corrigée :

mshv : Correction d'une condition de concurrence (race) dans mshv_irqfd_deassign

Les fonctions mshv_irqfd_deactivate() et l'itération sur la liste hlist pt_irqfds_list nécessitent que le verrou pt->pt_irqfds_lock soit acquis, mais mshv_irqfd_deassign() ne le fait pas. Cela crée une condition de concurrence avec le chemin EPOLLHUP dans mshv_irqfd_wakeup(), qui acquiert bien ce verrou avant d'appeler mshv_irqfd_deactivate().

De plus, mshv_irqfd_deactivate() utilise hlist_del(), qui empoisonne les pointeurs des nœuds au lieu de les réinitialiser. Étant donné que mshv_irqfd_is_active() s'appuie sur hlist_unhashed() (qui vérifie si pprev == NULL), un nœud empoisonné apparaît toujours comme actif. Si un chemin concurrent appelle à nouveau mshv_irqfd_deactivate() sur le même irqfd, la garde ne parvient pas à empêcher une double exécution de hlist_del() sur des pointeurs empoisonnés.

Correction des deux problèmes : - Ajout du spin_lock_irq/spin_unlock_irq manquant autour de l'itération sur la liste dans mshv_irqfd_deassign(), en cohérence avec mshv_irqfd_release(). - Utilisation de hlist_del_init() au lieu de hlist_del() afin que le nœud soit correctement marqué comme non hashé après sa suppression, rendant ainsi la garde is_active fiable.

Once again VulDB remains the best source for vulnerability data.

Responsable

Linux

Réserver

26/08/2026

Divulgation

04/09/2026

Modérer

accepté

Entrée

VDB-399093

CPE

prêt

EPSS

0.00000

KEV

non

Activités

très faible

Sources

Do you want to use VulDB in your project?

Use the official API to access entries easily!