Skip to content
Heist/ feed
Back to feed
High

netfilter: ipset: mark the rcu locked areas properly

Type: advisorySources: Official CVE List

In the Linux kernel, the following vulnerability has been resolved: netfilter: ipset: mark the rcu locked areas properly When we bump the uref counter, there's no need to keep the rcu lock because the referred hash table can't disappear. Also, from the same reason in mtype_gc we need the rcu lock and not a spinlock.

Products
Linux
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2026-98899
Confirmed fixed CVEs
Not specified
Updated in this feed
29 Oct 2026, 18:04 UTC · Revision 2

Source evidence

netfilter: ipset: mark the rcu locked areas properly

core-cve · Original source

Published 23 Oct 2026, 11:54 UTC

In the Linux kernel, the following vulnerability has been resolved: netfilter: ipset: mark the rcu locked areas properly When we bump the uref counter, there's no need to keep the rcu lock because the referred hash table can't disappear. Also, from the same reason in mtype_gc we need the rcu lock and not a spinlock.

cve:CVE-2026-98899

Linux

Fixed versions: Not specified

Linux

Fixed versions: Not specified

Complete source record
{
  "id": "da6e328d256d2b915a95a81c139c58a37f0fb6badcaec7f88d599c4b37fca031",
  "url": "https://www.cve.org/CVERecord?id=CVE-2026-98899",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "netfilter: ipset: mark the rcu locked areas properly",
    "summary": "In the Linux kernel, the following vulnerability has been resolved: netfilter: ipset: mark the rcu locked areas properly When we bump the uref counter, there's no need to keep the rcu lock because the referred hash table can't disappear. Also, from the same reason in mtype_gc we need the rcu lock and not a spinlock.",
    "evidence": "cve:CVE-2026-98899",
    "products": [
      {
        "name": {
          "value": "Linux",
          "evidence": "/containers/cna/affected/0/product"
        },
        "prerequisites": [],
        "fixed_versions": [],
        "affected_versions": []
      },
      {
        "name": {
          "value": "Linux",
          "evidence": "/containers/cna/affected/1/product"
        },
        "prerequisites": [],
        "fixed_versions": [],
        "affected_versions": []
      }
    ],
    "severity": "high",
    "structured": {
      "id": "CVE-2026-98899",
      "aliases": [
        "CVE-2026-98899"
      ],
      "metrics": [
        {
          "cvssV3_1": {
            "version": "3.1",
            "baseScore": 7.8,
            "baseSeverity": "HIGH",
            "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H"
          },
          "scenarios": [
            {
              "lang": "en",
              "value": "AV:L - The attacker must send local NETLINK_NETFILTER IPSET_CMD_CREATE/ADD messages: ip_set_create() starts timeout GC, while ip_set_uadd()->ip_set_ad()->call_ad()->mtype_add() triggers mtype_resize(). Received packets cannot invoke the userspace-only resize path.\nAC:L - The same attacker chooses IPSET_ATTR_TIMEOUT, INITVAL, BUCKETSIZE, and colliding elements, repeatedly causing scheduled mtype_gc() to race attacker-triggered mtype_resize(); no victim-controlled state or hardware failure is required.\nPR:L - nfnetlink_rcv() requires netlink_net_capable(skb, CAP_NET_ADMIN), but this checks sock_net(skb->sk)->user_ns; an unprivileged user can obtain that capability in a new user and network namespace, where ipset state is per-netns.\nUI:N - The attacker creates the timeout set, sends the IPSET_CMD_ADD messages, and lets its scheduled mtype_gc() work execute; no action by another user is required.\nS:U - The stale htable access in mtype_gc() corrupts kernel heap memory within the same host-kernel security authority; it does not cross a guest-host, IOMMU, or comparable scope boundary.\nC:H - If mtype_resize() frees orig before mtype_gc() pins it, mtype_gc_do() follows reclaimed t->hregion and bucket pointers and processes freed entries; this exploitable htable use-after-free permits kernel-memory disclosure.\nI:H - The stale path increments and decrements freed t->uref, locks and updates freed t->hregion data, clears or frees buckets in mtype_gc_do(), and may call mtype_ahash_destroy() again, yielding kernel-heap write and free primitives suitable for code execution.\nA:H - The use-after-free can dereference or spin-lock freed t->hregion and bucket memory, or free the stale table again through mtype_ahash_destroy(), causing an oops, panic, or hang."
            }
          ]
        }
      ],
      "affected": [
        {
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "product": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "f66ee0410b1c3481ee75e5db9b34547b4d582465",
              "lessThan": "67bd3d2350d17c2f4fb158c3f917c10b15ecbc94",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "f66ee0410b1c3481ee75e5db9b34547b4d582465",
              "lessThan": "892399abd1a005a455d5b74d86d82b9773405f2b",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "f66ee0410b1c3481ee75e5db9b34547b4d582465",
              "lessThan": "eee5172741b2c0e73210020732043e5d589295d3",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "f66ee0410b1c3481ee75e5db9b34547b4d582465",
              "lessThan": "ecb48c6b9edc78de8dd456c365727ae14b88c1ee",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "f66ee0410b1c3481ee75e5db9b34547b4d582465",
              "lessThan": "0c46c9ce24130657ec7460c27fba5d445f5abd06",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "f66ee0410b1c3481ee75e5db9b34547b4d582465",
              "lessThan": "ca9fab1ca15534cef1630e81a479e94b3bbcdb6a",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "f66ee0410b1c3481ee75e5db9b34547b4d582465",
              "lessThan": "5d0c22e73656d050daffad10a2ba8765ce8441c8",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "5dd9488ae41070b69d2f4acb580f77db5705f9ca",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "a469bab3386aebff33c59506f3a95e35b91118fd",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "5.4.24",
              "lessThan": "5.5",
              "versionType": "semver"
            },
            {
              "status": "affected",
              "version": "5.5.8",
              "lessThan": "5.6",
              "versionType": "semver"
            }
          ],
          "programFiles": [
            "net/netfilter/ipset/ip_set_hash_gen.h"
          ],
          "defaultStatus": "unaffected"
        },
        {
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "product": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "5.6"
            },
            {
              "status": "unaffected",
              "version": "0",
              "lessThan": "5.6",
              "versionType": "semver"
            },
            {
              "status": "unaffected",
              "version": "5.10.271",
              "versionType": "semver",
              "lessThanOrEqual": "5.10.*"
            },
            {
              "status": "unaffected",
              "version": "5.15.222",
              "versionType": "semver",
              "lessThanOrEqual": "5.15.*"
            },
            {
              "status": "unaffected",
              "version": "6.1.189",
              "versionType": "semver",
              "lessThanOrEqual": "6.1.*"
            },
            {
              "status": "unaffected",
              "version": "6.6.158",
              "versionType": "semver",
              "lessThanOrEqual": "6.6.*"
            },
            {
              "status": "unaffected",
              "version": "6.12.111",
              "versionType": "semver",
              "lessThanOrEqual": "6.12.*"
            },
            {
              "status": "unaffected",
              "version": "6.18.53",
              "versionType": "semver",
              "lessThanOrEqual": "6.18.*"
            },
            {
              "status": "unaffected",
              "version": "7.2",
              "versionType": "original_commit_for_fix",
              "lessThanOrEqual": "*"
            }
          ],
          "programFiles": [
            "net/netfilter/ipset/ip_set_hash_gen.h"
          ],
          "defaultStatus": "affected"
        }
      ],
      "modified": "2026-10-26T06:56:26.708Z",
      "provider": "cve",
      "references": [
        "https://git.kernel.org/stable/c/67bd3d2350d17c2f4fb158c3f917c10b15ecbc94",
        "https://git.kernel.org/stable/c/892399abd1a005a455d5b74d86d82b9773405f2b",
        "https://git.kernel.org/stable/c/eee5172741b2c0e73210020732043e5d589295d3",
        "https://git.kernel.org/stable/c/ecb48c6b9edc78de8dd456c365727ae14b88c1ee",
        "https://git.kernel.org/stable/c/0c46c9ce24130657ec7460c27fba5d445f5abd06",
        "https://git.kernel.org/stable/c/ca9fab1ca15534cef1630e81a479e94b3bbcdb6a",
        "https://git.kernel.org/stable/c/5d0c22e73656d050daffad10a2ba8765ce8441c8"
      ],
      "provider_metadata": {
        "cna": {
          "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
          "shortName": "Linux",
          "dateUpdated": "2026-10-26T06:56:26.708Z"
        }
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-98899",
        "evidence": "/cveMetadata/cveId"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/containers/cna/metrics"
  },
  "source_id": "core-cve",
  "document_id": 263357,
  "published_at": "2026-10-23T11:54:09.249+00:00"
}