CVE-2026-89744device property: fix infinite loop in fwnode_for_each_child_node()
Updated under an hour ago ()
Does this affect you?
It affects Linux. Add what you run to find out whether that includes you.
No exploitation reported and no EPSS estimate yet.
Do this next
Free account, 1 product
In the Linux kernel, the following vulnerability has been resolved: device property: fix infinite loop in fwnode_for_each_child_node() When iterate over children of a fwnode that has a secondary fwnode, fwnode_get_next_child_node() can enter an infinite loop if the secondary fwnode has more than one child. Parent Child (Primary fwnode) FWa: {FWa1, FWa2, FWa3} (Secondary fwnode) FWb: {FWb1, FWb2} In this case: ┌─> fwnode_get_next_child_node(FWa, FWa1) │ - fwnode_call_ptr_op(FWa, get_next_child_node, FWa1) returns FWa2 │ │ ... │ │ fwnode_get_next_child_node(FWa, FWa3) │ - fwnode_call_ptr_op(FWa, get_next_child_node, FWa3) returns NULL │ - fwnode_call_ptr_op(FWb, get_next_child_node, FWa3) returns FWb1 │ │ fwnode_get_next_child_node(FWa, FWb1) │ - fwnode_call_ptr_op(FWa, get_next_child_node, FWb1) returns FWa1 └────┘ This cause fwnode_for_each_child_node() to loop indefinitely, reapeatedly output {FWa1, FWa2, FWa3, FWb1, FWa1, ...}. The root cause is that when the current child (FWb1) belongs to the secondary fwnode, calling get_next_child_node() on the parimary fwnode incorrectly returns the first child (FWa1) again instead of NULL. Fix this by dynamically checking the parent fwnode of the current child before calling get_next_child_node(). This approach follows the pattern established in commit b5b41ab6b0c1 ("device property: Check fwnode->secondary in fwnode_graph_get_next_endpoint()").
- CVSS
- 8.4 HIGH (v3.1, CNA)CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
- Weakness (CWE)
- Not given
- Known exploited
- Not in CISA's KEV catalog
- EPSS (exploitation in the next 30 days)
- Not loaded for this CVE
- Assigned by
- Linux
- NVD analysis
- Received
- Record last updated
- Oct 19, 2026
- First seen by InfoSec Signals
- Oct 9, 2026
Affected products
Linux Linux linux:linux (from the name) | from 272fcf19fda14ec603ce915aafc56cb3ea2fb38d before 04004fa33730031392d987a9c1bbd8a0e1c4794b; from 3cfdf8d27b668d122a67a14bf2bcde1a7f10bbd6 before f4ae79b5f00130aacaddb1f3eb2e5ef711fbf9e0; 64dc258f9eec1d7204e9879cb836fe29967f1239 builds before 20ed517e416df89448029293304c9e180c26cd4b; from 32752c3e81498b106da64a141379eb94f493fe6f before ba69d892ff4e4a58cc12a2cae106b112db3306cc; 2692c614f8f05929d692b3dbfd3faef1f00fbaf0 builds before 9cb6b223ef02cb5c9777a852ae1ecf5796987eb6; from 2692c614f8f05929d692b3dbfd3faef1f00fbaf0 before 1900692555826753adab8799a1a8d50bb1ee200c; d1370a4f2aa0d811d419f6a6c6d257867d608956; 5b51b2ba5207e07bcd7be0daab2f8eea405e005e; and 8 more ranges | CNA record |
References
- https://git.kernel.org/stable/c/04004fa33730031392d987a9c1bbd8a0e1c4794b
- https://git.kernel.org/stable/c/f4ae79b5f00130aacaddb1f3eb2e5ef711fbf9e0
- https://git.kernel.org/stable/c/20ed517e416df89448029293304c9e180c26cd4b
- https://git.kernel.org/stable/c/ba69d892ff4e4a58cc12a2cae106b112db3306cc
- https://git.kernel.org/stable/c/9cb6b223ef02cb5c9777a852ae1ecf5796987eb6
- https://git.kernel.org/stable/c/1900692555826753adab8799a1a8d50bb1ee200c
The CVE record on cve.org NVD's entry
The CVE record is authoritative. Products marked “from the name” were identified from the CNA's free-text names, not a CPE, and are matched less certainly. This product uses the NVD API but is not endorsed or certified by the NVD.