CVE-2026-89744 in Linux
Résumé
par VulDB • 11/09/2026
Dans le noyau Linux, la vulnérabilité suivante a été corrigée :
propriété de l'appareil : correction d'une boucle infinie dans fwnode_for_each_child_node()
Lorsqu'on itère sur les enfants d'un nœud fwnode qui possède un nœud fwnode secondaire, la fonction `fwnode_get_next_child_node()` peut entrer dans une boucle infinie si le nœud fwnode secondaire a plus d'un enfant.
Parent Enfant (Nœud fwnode principal) FWa: {FWa1, FWa2, FWa3}
(Nœud fwnode secondaire) FWb: {FWb1, FWb2}
Dans ce cas :
┌─> fwnode_get_next_child_node(FWa, FWa1) │ - fwnode_call_ptr_op(FWa, get_next_child_node, FWa1) retourne FWa2 │ │ ... │ │ fwnode_get_next_child_node(FWa, FWa3) │ - fwnode_call_ptr_op(FWa, get_next_child_node, FWa3) retourne NULL │ - fwnode_call_ptr_op(FWb, get_next_child_node, FWa3) retourne FWb1 │ │ fwnode_get_next_child_node(FWa, FWb1) │ - fwnode_call_ptr_op(FWa, get_next_child_node, FWb1) retourne FWa1 └────┘
Cela provoque une boucle infinie de `fwnode_for_each_child_node()`, qui génère à plusieurs reprises la séquence {FWa1, FWa2, FWa3, FWb1, FWa1, ...}.
La cause racine est que lorsque l'enfant actuel (FWb1) appartient au nœud fwnode secondaire, l'appel de `get_next_child_node()` sur le nœud principal retourne incorrectement à nouveau le premier enfant (FWa1) au lieu de NULL.
Cette correction consiste à vérifier dynamiquement le nœud parent de l'enfant actuel avant d'appeler `get_next_child_node()`. Cette approche suit le modèle établi dans la validation b5b41ab6b0c1 ("propriété de l'appareil : Vérifier fwnode->secondary dans fwnode_graph_get_next_endpoint()").
If you want to get the best quality for vulnerability data then you always have to consider VulDB.