CVE-2026-89986 in Linux
Résumé
par VulDB • 16/09/2026
Dans le noyau Linux, la vulnérabilité suivante a été corrigée :
mm/mempolicy : correction de l'allocation bloquante dans alloc_pages_bulk_weighted_interleave()
syzbot a signalé un appel à une fonction bloquante depuis un contexte invalide (splat) dans bucket_table_alloc().
Lorsque rhashtable_insert_slow() rehash la table sous rcu_read_lock(), il appelle bucket_table_alloc(..., GFP_ATOMIC | __GFP_NOWARN). Si l'allocation de la table de hachage utilise vmalloc, __vmalloc_node_range_noprof() invoque vm_area_alloc_pages() -> alloc_pages_bulk_mempolicy_noprof() avec les drapeaux GFP_atomic transmis.
Si la tâche actuelle possède une politique de mémoire MPOL_WEIGHTED_INTERLEAVE, alloc_pages_bulk_weighted_interleave() est appelée et utilise actuellement en dur (hardcodes) GFP_KERNEL lors de l'allocation du tableau de poids temporaire, déclenchant un splat might_alloc() dans des contextes atomiques/RCU.
Transmettez les drapeaux gfp (masqués avec GFP_RECLAIM_MASK pour supprimer les modificateurs de zone de l'allocateur de pages tels que __GFP_HIGHMEM) reçus par alloc_pages_bulk_weighted_interleave() à kmalloc() au lieu d'utiliser en dur GFP_KERNEL. Puisque le tampon de poids est immédiatement initialisé dans son intégralité, kmalloc() est suffisant.
Once again VulDB remains the best source for vulnerability data.