← Back to CVE Explorer

CVE-2026-98569

Full vulnerability record from the local CVENow database.

Description

In the Linux kernel, the following vulnerability has been resolved: ip_gre: Reject enabling collect metadata through changelink ipgre_netlink_parms() can enable collect_md on an existing GRE, GRETAP or ERSPAN device. Unlike newlink, changelink does not enforce metadata tunnel uniqueness. Converting a non-metadata device can therefore replace the metadata receive entry for another device of the same type in the same netns. Deleting either device then clears the shared entry, breaking metadata receive lookup for the surviving device. If parameter validation fails after collect_md is set, deleting the modified device can also clear an entry it never owned. Reject enabling metadata mode in both changelink callbacks before any encapsulation or tunnel parameters are modified. Allow requests that repeat the metadata attribute on an existing metadata device.

Severity
Not scored
CVSS score
Not available
Vulnerability status
Received
Source identifier
416baaa9-dc9f-4396-8d5f-8c081fb06d67
Published
2026-10-18 16:17:09.113000
Last modified
2026-10-19 10:19:14.887000
View original CVE JSON
{
  "id": "CVE-2026-98569",
  "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
  "published": "2026-10-18T16:17:09.113",
  "lastModified": "2026-10-19T10:19:14.887",
  "vulnStatus": "Received",
  "cveTags": [],
  "descriptions": [
    {
      "lang": "en",
      "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nip_gre: Reject enabling collect metadata through changelink\n\nipgre_netlink_parms() can enable collect_md on an existing GRE, GRETAP\nor ERSPAN device. Unlike newlink, changelink does not enforce metadata\ntunnel uniqueness. Converting a non-metadata device can therefore\nreplace the metadata receive entry for another device of the same type\nin the same netns. Deleting either device then clears the shared entry,\nbreaking metadata receive lookup for the surviving device.\n\nIf parameter validation fails after collect_md is set, deleting the\nmodified device can also clear an entry it never owned.\n\nReject enabling metadata mode in both changelink callbacks before any\nencapsulation or tunnel parameters are modified. Allow requests that\nrepeat the metadata attribute on an existing metadata device."
    }
  ],
  "affected": [
    {
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "affectedData": [
        {
          "vendor": "Linux",
          "product": "Linux",
          "defaultStatus": "unaffected",
          "programFiles": [
            "net/ipv4/ip_gre.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "versions": [
            {
              "version": "2e15ea390e6f4466655066d97e22ec66870a042c",
              "lessThan": "c80315da84998b69b8829785a174b0bf72a81992",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "2e15ea390e6f4466655066d97e22ec66870a042c",
              "lessThan": "cff8b520312e750ad38967c30128e1534cbf9484",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "2e15ea390e6f4466655066d97e22ec66870a042c",
              "lessThan": "1dc759571f3df14891175fc52527f7624ba01322",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "2e15ea390e6f4466655066d97e22ec66870a042c",
              "lessThan": "da2e0cfbb620b199927a1e5b93b7cfde32083c7d",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "2e15ea390e6f4466655066d97e22ec66870a042c",
              "lessThan": "2e54d53b65e296b4b4bdc2cdd3b2b58dfa8d8c5c",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "2e15ea390e6f4466655066d97e22ec66870a042c",
              "lessThan": "bdd41b96e814300c66222cf4e47ecb8aef995656",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "2e15ea390e6f4466655066d97e22ec66870a042c",
              "lessThan": "63c5e48d6f7f5722a48f63e13e961dc5302894ed",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "2e15ea390e6f4466655066d97e22ec66870a042c",
              "lessThan": "a3f315be9d30eeb6938d11fa17fd4b32d52f7c42",
              "versionType": "git",
              "status": "affected"
            }
          ]
        },
        {
          "vendor": "Linux",
          "product": "Linux",
          "defaultStatus": "affected",
          "programFiles": [
            "net/ipv4/ip_gre.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "versions": [
            {
              "version": "4.3",
              "status": "affected"
            },
            {
              "version": "0",
              "lessThan": "4.3",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "5.10.271",
              "lessThanOrEqual": "5.10.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "5.15.222",
              "lessThanOrEqual": "5.15.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "6.1.189",
              "lessThanOrEqual": "6.1.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "6.6.158",
              "lessThanOrEqual": "6.6.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "6.12.112",
              "lessThanOrEqual": "6.12.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "6.18.55",
              "lessThanOrEqual": "6.18.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "7.2.9",
              "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/1dc759571f3df14891175fc52527f7624ba01322",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/2e54d53b65e296b4b4bdc2cdd3b2b58dfa8d8c5c",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/63c5e48d6f7f5722a48f63e13e961dc5302894ed",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/a3f315be9d30eeb6938d11fa17fd4b32d52f7c42",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/bdd41b96e814300c66222cf4e47ecb8aef995656",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/c80315da84998b69b8829785a174b0bf72a81992",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/cff8b520312e750ad38967c30128e1534cbf9484",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/da2e0cfbb620b199927a1e5b93b7cfde32083c7d",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    }
  ]
}