← Back to CVE Explorer

CVE-2026-90061

Full vulnerability record from the local CVENow database.

Description

In the Linux kernel, the following vulnerability has been resolved: netfilter: nf_tables: skip double clone set expressions on element insert Both the dynset and newsetelem path clone the existing set expressions when setting set element expressions if no override expressions are provided. This results in a double clone, once to clone the template set expressions then another clone on the new element. Add a flag to annotate if userspace provides a override expression (ie. expression of the same type of the set but different configuration), otherwise borrow the existing expression from the set. Add conditionals to release expression iif they represent an override. Use this new override_exprs flag to dump the dynset expression override to userspace. This simplifies the existing logic and it also fixes a bug with the connlimit expression which results in a module refcount imbalance WARNING splat when resorting on the default set expressions.

Severity
Not scored
CVSS score
Not available
Vulnerability status
Received
Source identifier
416baaa9-dc9f-4396-8d5f-8c081fb06d67
Published
2026-09-17 17:16:54.833000
Last modified
2026-10-30 13:20:40.220000
View original CVE JSON
{
  "id": "CVE-2026-90061",
  "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
  "published": "2026-09-17T17:16:54.833",
  "lastModified": "2026-10-30T13:20:40.220",
  "vulnStatus": "Received",
  "cveTags": [],
  "descriptions": [
    {
      "lang": "en",
      "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nnetfilter: nf_tables: skip double clone set expressions on element insert\n\nBoth the dynset and newsetelem path clone the existing set expressions\nwhen setting set element expressions if no override expressions are\nprovided. This results in a double clone, once to clone the template set\nexpressions then another clone on the new element. Add a flag to\nannotate if userspace provides a override expression (ie. expression of\nthe same type of the set but different configuration), otherwise borrow\nthe existing expression from the set. Add conditionals to release\nexpression iif they represent an override. Use this new override_exprs\nflag to dump the dynset expression override to userspace.\n\nThis simplifies the existing logic and it also fixes a bug with the\nconnlimit expression which results in a module refcount imbalance\nWARNING splat when resorting on the default set expressions."
    }
  ],
  "affected": [
    {
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "affectedData": [
        {
          "vendor": "Linux",
          "product": "Linux",
          "defaultStatus": "unaffected",
          "programFiles": [
            "include/net/netfilter/nf_tables.h",
            "net/netfilter/nf_tables_api.c",
            "net/netfilter/nft_dynset.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "versions": [
            {
              "version": "65038428b2c6c5be79d3f78a6b79c0cdc3a58a41",
              "lessThan": "109bf28a90ac365ec4d25622c50959bb43b35ed4",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "65038428b2c6c5be79d3f78a6b79c0cdc3a58a41",
              "lessThan": "9cbf6da967ec8c6e8278b70353b712980a12d848",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "65038428b2c6c5be79d3f78a6b79c0cdc3a58a41",
              "lessThan": "04d1930072e694d9d03bfefdb7e1ebdc872a3d0c",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "65038428b2c6c5be79d3f78a6b79c0cdc3a58a41",
              "lessThan": "c6b56b8d549a043b6c8ff616db8748263eae05ae",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "65038428b2c6c5be79d3f78a6b79c0cdc3a58a41",
              "lessThan": "1e7fb6801d9cc826adcdb7fa0533c397730657f2",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "65038428b2c6c5be79d3f78a6b79c0cdc3a58a41",
              "lessThan": "43559058d21e0493aa220ac167e0279334dea5f9",
              "versionType": "git",
              "status": "affected"
            }
          ]
        },
        {
          "vendor": "Linux",
          "product": "Linux",
          "defaultStatus": "affected",
          "programFiles": [
            "include/net/netfilter/nf_tables.h",
            "net/netfilter/nf_tables_api.c",
            "net/netfilter/nft_dynset.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "versions": [
            {
              "version": "5.7",
              "status": "affected"
            },
            {
              "version": "0",
              "lessThan": "5.7",
              "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.114",
              "lessThanOrEqual": "6.12.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "6.18.57",
              "lessThanOrEqual": "6.18.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "7.2.6",
              "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/04d1930072e694d9d03bfefdb7e1ebdc872a3d0c",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/109bf28a90ac365ec4d25622c50959bb43b35ed4",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/1e7fb6801d9cc826adcdb7fa0533c397730657f2",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/43559058d21e0493aa220ac167e0279334dea5f9",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/9cbf6da967ec8c6e8278b70353b712980a12d848",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/c6b56b8d549a043b6c8ff616db8748263eae05ae",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    }
  ]
}