Skip to content
Heist/ feed
High

net: hsr: defer node table free until after RCU readers

Type: advisorySource: Official CVE List1 source record

In the Linux kernel, the following vulnerability has been resolved: net: hsr: defer node table free until after RCU readers HSR node-list and node-status generic-netlink operations run under rcu_read_lock(). They walk hsr->node_db through hsr_get_next_node() and hsr_get_node_data(), but RTM_DELLINK teardown removes the same node table with plain list_del() and frees each node immediately. That lets a generic-netlink reader hold a struct hsr_node pointer across hsr_dellink(). In a KASAN build, widening the reader window after hsr_get_next_node() obtains the node reproduces a slab-use-after-free when the reader copies node->macaddress_A; the freeing stack is hsr_del_nodes() from hsr_dellink(). Use list_del_rcu() and defer the free through the existing hsr_free_node_rcu() callback. This matches the lifetime rule used by the HSR prune paths, which already delete nodes with list_del_rcu() and call_rcu().

Announced Source revision 1
Original source ↗

CVE-2026-64123

Primary source · Revision 1

Imported from structured advisory data. Source references identify upstream records or fields; verify affected versions and your deployed configuration.

Security context

Source reference: cve:CVE-2026-64123

Linux

Source reference: /containers/cna/affected/0/product

Affected versions
Not stated in this record
Fixed versions
Not stated in this record
Prerequisites
Not stated in this record

Linux

Source reference: /containers/cna/affected/1/product

Affected versions
Not stated in this record
Fixed versions
Not stated in this record
Prerequisites
Not stated in this record

Structured affected-version data

Original package identities and version rules from this source.

[
  {
    "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
    "vendor": "Linux",
    "product": "Linux",
    "versions": [
      {
        "status": "affected",
        "version": "b9a1e627405d68d475a3c1f35e685ccfb5bbe668",
        "lessThan": "0ea70fb46940620848c08d9d399455c9e82fecdb",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "b9a1e627405d68d475a3c1f35e685ccfb5bbe668",
        "lessThan": "8be6685cdd1255bcc85f9b59e4bfc313aefc5c1b",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "b9a1e627405d68d475a3c1f35e685ccfb5bbe668",
        "lessThan": "c5580114e0492bcd2e0a37613ed4c311e3fa3d4d",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "b9a1e627405d68d475a3c1f35e685ccfb5bbe668",
        "lessThan": "7713f4aafb577ff49fa67f0488d9c7dddc64d6ce",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "b9a1e627405d68d475a3c1f35e685ccfb5bbe668",
        "lessThan": "6324423a8e6591f41a16c09a8f9a84e554ac147c",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "b9a1e627405d68d475a3c1f35e685ccfb5bbe668",
        "lessThan": "48d09dea506de667eb55f939bf98eec721effbdb",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "b9a1e627405d68d475a3c1f35e685ccfb5bbe668",
        "lessThan": "8c3af18bb0d7c921a5219194037509463eb2ffde",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "b9a1e627405d68d475a3c1f35e685ccfb5bbe668",
        "lessThan": "aaec7096f9961eb223b5b149abe9495525c205d9",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "08523d5a2f4a9e4202e00d282c164d453cabe2d2",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "5.2.12",
        "lessThan": "5.3",
        "versionType": "semver"
      }
    ],
    "programFiles": [
      "net/hsr/hsr_framereg.c"
    ],
    "defaultStatus": "unaffected"
  },
  {
    "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
    "vendor": "Linux",
    "product": "Linux",
    "versions": [
      {
        "status": "affected",
        "version": "5.3"
      },
      {
        "status": "unaffected",
        "version": "0",
        "lessThan": "5.3",
        "versionType": "semver"
      },
      {
        "status": "unaffected",
        "version": "5.10.259",
        "versionType": "semver",
        "lessThanOrEqual": "5.10.*"
      },
      {
        "status": "unaffected",
        "version": "5.15.210",
        "versionType": "semver",
        "lessThanOrEqual": "5.15.*"
      },
      {
        "status": "unaffected",
        "version": "6.1.176",
        "versionType": "semver",
        "lessThanOrEqual": "6.1.*"
      },
      {
        "status": "unaffected",
        "version": "6.6.143",
        "versionType": "semver",
        "lessThanOrEqual": "6.6.*"
      },
      {
        "status": "unaffected",
        "version": "6.12.93",
        "versionType": "semver",
        "lessThanOrEqual": "6.12.*"
      },
      {
        "status": "unaffected",
        "version": "6.18.57",
        "versionType": "semver",
        "lessThanOrEqual": "6.18.*"
      },
      {
        "status": "unaffected",
        "version": "7.0.11",
        "versionType": "semver",
        "lessThanOrEqual": "7.0.*"
      },
      {
        "status": "unaffected",
        "version": "7.1",
        "versionType": "original_commit_for_fix",
        "lessThanOrEqual": "*"
      }
    ],
    "programFiles": [
      "net/hsr/hsr_framereg.c"
    ],
    "defaultStatus": "affected"
  }
]
Related CVEs
CVE-2026-64123

Source reference: /cveMetadata/cveId

Publisher severity

high

Source reference: /containers/cna/metrics

Event
#40960 · Revision 1
Added to Heist Feed
Publisher date
Read the original announcement