{
  "affected": [
    {
      "ecosystem_specific": {
        "urgency": "not yet assigned"
      },
      "package": {
        "ecosystem": "Debian:12",
        "name": "linux"
      },
      "ranges": [
        {
          "events": [
            {
              "introduced": "0"
            }
          ],
          "type": "ECOSYSTEM"
        }
      ]
    },
    {
      "ecosystem_specific": {
        "urgency": "not yet assigned"
      },
      "package": {
        "ecosystem": "Debian:13",
        "name": "linux"
      },
      "ranges": [
        {
          "events": [
            {
              "introduced": "0"
            }
          ],
          "type": "ECOSYSTEM"
        }
      ]
    },
    {
      "ecosystem_specific": {
        "urgency": "not yet assigned"
      },
      "package": {
        "ecosystem": "Debian:14",
        "name": "linux"
      },
      "ranges": [
        {
          "events": [
            {
              "introduced": "0"
            }
          ],
          "type": "ECOSYSTEM"
        }
      ]
    }
  ],
  "details": "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:   ┌─\u003e 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-\u003esecondary in fwnode_graph_get_next_endpoint()\").",
  "id": "DEBIAN-CVE-2026-89744",
  "modified": "2026-09-15T08:47:29.545046306Z",
  "published": "2026-09-11T20:20:05.113Z",
  "references": [
    {
      "type": "ADVISORY",
      "url": "https://security-tracker.debian.org/tracker/CVE-2026-89744"
    }
  ],
  "severity": [
    {
      "score": "CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H",
      "type": "CVSS_V3"
    }
  ],
  "upstream": [
    "CVE-2026-89744"
  ]
}