GCVE Workshop - 22 September 2026 (14:00-18:00), Luxembourg Before The Vulnopticon Conference - Registration

CVE-2022-50048 (GCVE-0-2022-50048)

Vulnerability from cvelistv5 – Published: 2025-06-18 11:01 – Updated: 2026-08-05 08:57
VLAI
Title
netfilter: nf_tables: possible module reference underflow in error path
Summary
In the Linux kernel, the following vulnerability has been resolved: netfilter: nf_tables: possible module reference underflow in error path dst->ops is set on when nft_expr_clone() fails, but module refcount has not been bumped yet, therefore nft_expr_destroy() leads to module reference underflow.
Impacted products
Vendor Product Version CPE status
Linux Linux Affected: 8cfd9b0f8515e7c361bba27e2a2684cbd427fe01 , < b59bee8b05b0e789b5a298cacb09e8aaa3367a29 (git)
Affected: 8cfd9b0f8515e7c361bba27e2a2684cbd427fe01 , < 1e52e6cfec6342c3d0df47dc3a76724fb3dabf56 (git)
Affected: 8cfd9b0f8515e7c361bba27e2a2684cbd427fe01 , < c485c35ff6783ccd12c160fcac6a0e504e83e0bf (git)
guessed Create a notification for this product.
Linux Linux Affected: 5.11
Unaffected: 0 , < 5.11 (semver)
Unaffected: 5.15.63 , ≤ 5.15.* (semver)
Unaffected: 5.19.4 , ≤ 5.19.* (semver)
Unaffected: 6.0 , ≤ * (original_commit_for_fix)
guessed Create a notification for this product.
Show details on NVD website

{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "net/netfilter/nf_tables_api.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "b59bee8b05b0e789b5a298cacb09e8aaa3367a29",
              "status": "affected",
              "version": "8cfd9b0f8515e7c361bba27e2a2684cbd427fe01",
              "versionType": "git"
            },
            {
              "lessThan": "1e52e6cfec6342c3d0df47dc3a76724fb3dabf56",
              "status": "affected",
              "version": "8cfd9b0f8515e7c361bba27e2a2684cbd427fe01",
              "versionType": "git"
            },
            {
              "lessThan": "c485c35ff6783ccd12c160fcac6a0e504e83e0bf",
              "status": "affected",
              "version": "8cfd9b0f8515e7c361bba27e2a2684cbd427fe01",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "net/netfilter/nf_tables_api.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "5.11"
            },
            {
              "lessThan": "5.11",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.15.*",
              "status": "unaffected",
              "version": "5.15.63",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.19.*",
              "status": "unaffected",
              "version": "5.19.4",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "6.0",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.15.63",
                  "versionStartIncluding": "5.11",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.19.4",
                  "versionStartIncluding": "5.11",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.0",
                  "versionStartIncluding": "5.11",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nnetfilter: nf_tables: possible module reference underflow in error path\n\ndst-\u003eops is set on when nft_expr_clone() fails, but module refcount has\nnot been bumped yet, therefore nft_expr_destroy() leads to module\nreference underflow."
        }
      ],
      "metrics": [
        {
          "cvssV3_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",
            "version": "3.1"
          },
          "scenarios": [
            {
              "lang": "en",
              "value": "AV:L - The bug is reached only through the local NETLINK_NETFILTER/nf_tables path (NFT_MSG_NEWSETELEM \u2192 nft_add_set_elem \u2192 nft_set_elem_expr_clone, or dynset init), which requires opening a netlink socket; it is not reachable from remote packet processing.\nAC:L - The attacker fully controls set creation with a stateful clone-capable expression (counter/limit/quota/last/connlimit) and element adds that omit per-element expressions, and can induce the GFP_ATOMIC clone allocation failure via memory pressure, so the underflow is reliably triggerable with no race or luck.\nPR:L - nfnetlink_rcv() gates on netlink_net_capable(skb, CAP_NET_ADMIN) against the network namespace\u0027s user_ns, so an ordinary unprivileged user obtains the needed capability via unshare -Urn on default distributions.\nUI:N - The attacker creates the set, induces clone failure, and triggers the destroy/module_put error path entirely from their own process with no victim action required.\nS:U - Impact is confined to the host kernel (module UAF / refcount corruption and privilege escalation within the same OS security authority); no VM, IOMMU, or hypervisor boundary is crossed.\nC:H - The erroneous module_put without a matching get underflows the expression module\u0027s refcount so it can be unloaded while set expressions still reference its ops/code, yielding a classic module UAF that enables arbitrary kernel memory disclosure.\nI:H - Premature unload of nft_limit/nft_quota/nft_connlimit (or nf_tables for built-in counter/last) leaves live expression ops pointing into freed module memory that can be sprayed for control-flow hijack; the connlimit path also wrongly calls nf_ct_netns_put, compounding refcount corruption.\nA:H - On connlimit, destroy runs nf_conncount_cache_free(NULL) and NULL-dereferences; on other expressions the module refcount underflow/UAF produces oops/panic, so availability impact is High even without full exploitation."
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-08-05T08:57:14.148Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/b59bee8b05b0e789b5a298cacb09e8aaa3367a29"
        },
        {
          "url": "https://git.kernel.org/stable/c/1e52e6cfec6342c3d0df47dc3a76724fb3dabf56"
        },
        {
          "url": "https://git.kernel.org/stable/c/c485c35ff6783ccd12c160fcac6a0e504e83e0bf"
        }
      ],
      "title": "netfilter: nf_tables: possible module reference underflow in error path",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2022-50048",
    "datePublished": "2025-06-18T11:01:48.893Z",
    "dateReserved": "2025-06-18T10:57:27.402Z",
    "dateUpdated": "2026-08-05T08:57:14.148Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "epss": {
      "cve": "CVE-2022-50048",
      "date": "2026-09-20",
      "epss": "0.00197",
      "percentile": "0.09703"
    },
    "nvd": {
      "cve": {
        "affected": [
          {
            "affectedData": [
              {
                "defaultStatus": "unaffected",
                "product": "Linux",
                "programFiles": [
                  "net/netfilter/nf_tables_api.c"
                ],
                "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                "vendor": "Linux",
                "versions": [
                  {
                    "lessThan": "b59bee8b05b0e789b5a298cacb09e8aaa3367a29",
                    "status": "affected",
                    "version": "8cfd9b0f8515e7c361bba27e2a2684cbd427fe01",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "1e52e6cfec6342c3d0df47dc3a76724fb3dabf56",
                    "status": "affected",
                    "version": "8cfd9b0f8515e7c361bba27e2a2684cbd427fe01",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "c485c35ff6783ccd12c160fcac6a0e504e83e0bf",
                    "status": "affected",
                    "version": "8cfd9b0f8515e7c361bba27e2a2684cbd427fe01",
                    "versionType": "git"
                  }
                ]
              },
              {
                "defaultStatus": "affected",
                "product": "Linux",
                "programFiles": [
                  "net/netfilter/nf_tables_api.c"
                ],
                "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                "vendor": "Linux",
                "versions": [
                  {
                    "status": "affected",
                    "version": "5.11"
                  },
                  {
                    "lessThan": "5.11",
                    "status": "unaffected",
                    "version": "0",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "5.15.*",
                    "status": "unaffected",
                    "version": "5.15.63",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "5.19.*",
                    "status": "unaffected",
                    "version": "5.19.4",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "*",
                    "status": "unaffected",
                    "version": "6.0",
                    "versionType": "original_commit_for_fix"
                  }
                ]
              }
            ],
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
          }
        ],
        "configurations": [
          {
            "nodes": [
              {
                "cpeMatch": [
                  {
                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                    "matchCriteriaId": "D5744A03-DA40-4A78-9063-13179361DC6D",
                    "versionEndExcluding": "5.15.63",
                    "versionStartIncluding": "5.11",
                    "vulnerable": true
                  },
                  {
                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                    "matchCriteriaId": "0E669300-DA42-4ACD-86D8-68BE5F29FB88",
                    "versionEndExcluding": "5.19.4",
                    "versionStartIncluding": "5.16",
                    "vulnerable": true
                  },
                  {
                    "criteria": "cpe:2.3:o:linux:linux_kernel:6.0:rc1:*:*:*:*:*:*",
                    "matchCriteriaId": "E8BD11A3-8643-49B6-BADE-5029A0117325",
                    "vulnerable": true
                  }
                ],
                "negate": false,
                "operator": "OR"
              }
            ]
          }
        ],
        "cveTags": [],
        "descriptions": [
          {
            "lang": "en",
            "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nnetfilter: nf_tables: possible module reference underflow in error path\n\ndst-\u003eops is set on when nft_expr_clone() fails, but module refcount has\nnot been bumped yet, therefore nft_expr_destroy() leads to module\nreference underflow."
          },
          {
            "lang": "es",
            "value": "En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: netfilter: nf_tables: posible desbordamiento de referencia de m\u00f3dulo en la ruta de error dst-\u0026gt;ops est\u00e1 activado cuando nft_expr_clone() falla, pero el recuento de referencias del m\u00f3dulo a\u00fan no se ha incrementado, por lo tanto, nft_expr_destroy() provoca un desbordamiento de referencia de m\u00f3dulo."
          }
        ],
        "id": "CVE-2022-50048",
        "lastModified": "2026-08-04T10:18:03.710",
        "metrics": {
          "cvssMetricV31": [
            {
              "cvssData": {
                "attackComplexity": "LOW",
                "attackVector": "LOCAL",
                "availabilityImpact": "HIGH",
                "baseScore": 7.8,
                "baseSeverity": "HIGH",
                "confidentialityImpact": "HIGH",
                "integrityImpact": "HIGH",
                "privilegesRequired": "LOW",
                "scope": "UNCHANGED",
                "userInteraction": "NONE",
                "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
                "version": "3.1"
              },
              "exploitabilityScore": 1.8,
              "impactScore": 5.9,
              "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
              "type": "Secondary"
            },
            {
              "cvssData": {
                "attackComplexity": "LOW",
                "attackVector": "LOCAL",
                "availabilityImpact": "HIGH",
                "baseScore": 5.5,
                "baseSeverity": "MEDIUM",
                "confidentialityImpact": "NONE",
                "integrityImpact": "NONE",
                "privilegesRequired": "LOW",
                "scope": "UNCHANGED",
                "userInteraction": "NONE",
                "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H",
                "version": "3.1"
              },
              "exploitabilityScore": 1.8,
              "impactScore": 3.6,
              "source": "nvd@nist.gov",
              "type": "Primary"
            }
          ]
        },
        "published": "2025-06-18T11:15:33.393",
        "references": [
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "tags": [
              "Patch"
            ],
            "url": "https://git.kernel.org/stable/c/1e52e6cfec6342c3d0df47dc3a76724fb3dabf56"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "tags": [
              "Patch"
            ],
            "url": "https://git.kernel.org/stable/c/b59bee8b05b0e789b5a298cacb09e8aaa3367a29"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "tags": [
              "Patch"
            ],
            "url": "https://git.kernel.org/stable/c/c485c35ff6783ccd12c160fcac6a0e504e83e0bf"
          }
        ],
        "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "vulnStatus": "Modified",
        "weaknesses": [
          {
            "description": [
              {
                "lang": "en",
                "value": "NVD-CWE-noinfo"
              }
            ],
            "source": "nvd@nist.gov",
            "type": "Primary"
          }
        ]
      }
    },
    "redhat_vex": {
      "aggregate_severity": "Low",
      "current_release_date": "2026-08-04T22:59:20+00:00",
      "cve": "CVE-2022-50048",
      "id": "CVE-2022-50048",
      "initial_release_date": "2022-01-01T00:00:00+00:00",
      "product_status:fixed": "452",
      "product_status:known_affected": "38",
      "product_status:known_not_affected": "118",
      "source": "Red Hat CSAF VEX",
      "status": "final",
      "title": "kernel: netfilter: nf_tables: possible module reference underflow in error path",
      "url": "https://security.access.redhat.com/data/csaf/v2/vex/2022/cve-2022-50048.json",
      "version": "3"
    },
    "suse_vex": {
      "aggregate_severity": "moderate",
      "current_release_date": "2026-08-29T02:23:41Z",
      "cve": "CVE-2022-50048",
      "id": "CVE-2022-50048",
      "initial_release_date": "2025-06-19T03:43:12Z",
      "product_status:known_affected": "61",
      "product_status:known_not_affected": "448",
      "product_status:recommended": "42",
      "source": "SUSE CSAF VEX",
      "status": "interim",
      "title": "SUSE CVE CVE-2022-50048",
      "url": "https://ftp.suse.com/pub/projects/security/csaf-vex/cve-2022-50048.json",
      "version": "11"
    }
  }
}



Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.

Sightings

Author Source Type Date Other

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or observed by the user.
  • Confirmed: The vulnerability has been validated from an analyst's perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
  • Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
  • Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
  • Not confirmed: The user expressed doubt about the validity of the vulnerability.
  • Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.

Loading…

Detection rules are retrieved from Rulezet.

Loading…

Loading…

Related by attack behaviour

Vulnerabilities whose description is nearest to this one in the vector space of the CIRCL/vulnerability-attack-technique-biencoder model. This is a similarity search over the bi-encoder space (plain cosine), not a classification, and it has no measured accuracy.


Loading…