← Back to CVE Explorer

CVE-2026-97901

Full vulnerability record from the local CVENow database.

Description

In the Linux kernel, the following vulnerability has been resolved: genetlink: pin family module during policy dump The generic netlink controller's policy dump keeps pointers to the target family's operation and policy tables in its callback state. A dump may be split across multiple skbs and remain pending after the initial request. Netlink pins the module which owns the dump callback, but in this case that is the controller's owner rather than the target family's owner. The target family can consequently be unregistered and its module unloaded while a policy dump is pending. Advancing the dump then dereferences policy memory from the unloaded module. Take a reference to the target family's module when the dump starts. Drop it from the error and done paths. This matches the lifetime for which the dump context retains the family and policy pointers.

Severity
Not scored
CVSS score
Not available
Vulnerability status
Received
Source identifier
416baaa9-dc9f-4396-8d5f-8c081fb06d67
Published
2026-09-25 11:17:16.897000
Last modified
2026-10-30 13:21:10.170000
View original CVE JSON
{
  "id": "CVE-2026-97901",
  "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
  "published": "2026-09-25T11:17:16.897",
  "lastModified": "2026-10-30T13:21:10.170",
  "vulnStatus": "Received",
  "cveTags": [],
  "descriptions": [
    {
      "lang": "en",
      "value": "In the Linux kernel, the following vulnerability has been resolved:\n\ngenetlink: pin family module during policy dump\n\nThe generic netlink controller's policy dump keeps pointers to the target\nfamily's operation and policy tables in its callback state.  A dump may be\nsplit across multiple skbs and remain pending after the initial request.\n\nNetlink pins the module which owns the dump callback, but in this case\nthat is the controller's owner rather than the target family's owner.  The\ntarget family can consequently be unregistered and its module unloaded\nwhile a policy dump is pending.  Advancing the dump then dereferences\npolicy memory from the unloaded module.\n\nTake a reference to the target family's module when the dump starts.\nDrop it from the error and done paths.  This matches the lifetime for which\nthe dump context retains the family and policy pointers."
    }
  ],
  "affected": [
    {
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "affectedData": [
        {
          "vendor": "Linux",
          "product": "Linux",
          "defaultStatus": "unaffected",
          "programFiles": [
            "net/netlink/genetlink.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "versions": [
            {
              "version": "d07dcf9aadd6b2842b439e8668ff7ea2873f28d7",
              "lessThan": "7ee2c0f82354da9bae04b14e0e5b2037d2de48a7",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "d07dcf9aadd6b2842b439e8668ff7ea2873f28d7",
              "lessThan": "7f71414c206a0e2babf4ec2756c0d15776c5dfd2",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "d07dcf9aadd6b2842b439e8668ff7ea2873f28d7",
              "lessThan": "ad01ec35360e803670168d63a856629d6aeaec48",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "d07dcf9aadd6b2842b439e8668ff7ea2873f28d7",
              "lessThan": "1a345d95e59a99e25404138b5a1ec2edcb03269f",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "d07dcf9aadd6b2842b439e8668ff7ea2873f28d7",
              "lessThan": "6e4d746e55c83c240cffce92356763d16b236af5",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "d07dcf9aadd6b2842b439e8668ff7ea2873f28d7",
              "lessThan": "508387ad95ef9c13aa6431678c39763e882da2dc",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "d07dcf9aadd6b2842b439e8668ff7ea2873f28d7",
              "lessThan": "6d8e653fcf1c90310797eeba8e5fafe9ccc3de9e",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "d07dcf9aadd6b2842b439e8668ff7ea2873f28d7",
              "lessThan": "6a1094c34d176827b2b173e163dcc964a13af93f",
              "versionType": "git",
              "status": "affected"
            }
          ]
        },
        {
          "vendor": "Linux",
          "product": "Linux",
          "defaultStatus": "affected",
          "programFiles": [
            "net/netlink/genetlink.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "versions": [
            {
              "version": "5.8",
              "status": "affected"
            },
            {
              "version": "0",
              "lessThan": "5.8",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "5.10.273",
              "lessThanOrEqual": "5.10.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "5.15.224",
              "lessThanOrEqual": "5.15.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "6.1.191",
              "lessThanOrEqual": "6.1.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "6.6.160",
              "lessThanOrEqual": "6.6.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "6.12.112",
              "lessThanOrEqual": "6.12.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "6.18.53",
              "lessThanOrEqual": "6.18.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "7.2.7",
              "lessThanOrEqual": "7.2.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "7.3",
              "lessThanOrEqual": "*",
              "versionType": "original_commit_for_fix",
              "status": "unaffected"
            }
          ]
        }
      ]
    }
  ],
  "metrics": {},
  "references": [
    {
      "url": "https://git.kernel.org/stable/c/1a345d95e59a99e25404138b5a1ec2edcb03269f",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/508387ad95ef9c13aa6431678c39763e882da2dc",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/6a1094c34d176827b2b173e163dcc964a13af93f",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/6d8e653fcf1c90310797eeba8e5fafe9ccc3de9e",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/6e4d746e55c83c240cffce92356763d16b236af5",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/7ee2c0f82354da9bae04b14e0e5b2037d2de48a7",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/7f71414c206a0e2babf4ec2756c0d15776c5dfd2",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/ad01ec35360e803670168d63a856629d6aeaec48",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    }
  ]
}