CVE-2026-89744 in Linux
要約
〜によって VulDB • 2026年09月11日
Linuxカーネルにおいて、以下の脆弱性が修正されました:
デバイスプロパティ: fwnode_for_each_child_node() 内の無限ループの修正
二次的な fwnode を持つ fwnode の子ノードを反復処理する際、その二次的な fwnode に複数の子が存在すると、fwnode_get_next_child_node() が無限ループに陥る可能性があります。
Parent Child (Primary fwnode) FWa: {FWa1, FWa2, FWa3}
(Secondary fwnode) FWb: {FWb1, FWb2}
この場合:
┌─> fwnode_get_next_child_node(FWa, FWa1) │ - fwnode_call_ptr_op(FWa, get_next_child_node, FWa1) は FWa2 を返す │ │ ... │ │ fwnode_get_next_child_node(FWa, FWa3) │ - fwnode_call_ptr_op(FWa, get_next_child_node, FWa3) は NULL を返す │ - fwnode_call_ptr_op(FWb, get_next_child_node, FWa3) は FWb1 を返す │ │ fwnode_get_next_child_node(FWa, FWb1) │ - fwnode_call_ptr_op(FWa, get_next_child_node, FWb1) は FWa1 を返す └────┘
これにより、fwnode_for_each_child_node() が無限ループし、{FWa1, FWa2, FWa3, FWb1, FWa1, ...} を繰り返し出力します。
根本原因は、現在の子ノード (FWb1) が二次的な fwnode に属している場合、親となるプライマリの fwnode に対して get_next_child_node() を呼び出すと、NULL の代わりに最初の子ノード (FWa1) が誤って返されてしまう点にあります。
この問題を修正するため、get_next_child_node() を呼び出す前に現在の子ノードの親 fwnode を動的にチェックします。このアプローチは、コミット b5b41ab6b0c1 ("device property: Check fwnode->secondary in fwnode_graph_get_next_endpoint()") で確立されたパターンに従っています。
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.