CVE-2022-50212 (GCVE-0-2022-50212)

Vulnerability from cvelistv5 – Published: 2025-06-18 11:03 – Updated: 2026-08-05 08:57
VLAI
Title
netfilter: nf_tables: do not allow CHAIN_ID to refer to another table
Summary
In the Linux kernel, the following vulnerability has been resolved: netfilter: nf_tables: do not allow CHAIN_ID to refer to another table When doing lookups for chains on the same batch by using its ID, a chain from a different table can be used. If a rule is added to a table but refers to a chain in a different table, it will be linked to the chain in table2, but would have expressions referring to objects in table1. Then, when table1 is removed, the rule will not be removed as its linked to a chain in table2. When expressions in the rule are processed or removed, that will lead to a use-after-free. When looking for chains by ID, use the table that was used for the lookup by name, and only return chains belonging to that same table.
Assigner
Impacted products
Vendor Product Version
Linux Linux Affected: 837830a4b439bfeb86c70b0115c280377c84714b , < 9e7dcb88ec8e85e4a8ad0ea494ea2f90f32d2583 (git)
Affected: 837830a4b439bfeb86c70b0115c280377c84714b , < 91501513016903077f91033fa5d2aa26cac399b2 (git)
Affected: 837830a4b439bfeb86c70b0115c280377c84714b , < 0f49613a213d918af790c1276f79da741968de11 (git)
Affected: 837830a4b439bfeb86c70b0115c280377c84714b , < 58e863f64ee3d0879297e5e53b646e4b91e59620 (git)
Affected: 837830a4b439bfeb86c70b0115c280377c84714b , < 95f466d22364a33d183509629d0879885b4f547e (git)
Create a notification for this product.
Linux Linux Affected: 5.9
Unaffected: 0 , < 5.9 (semver)
Unaffected: 5.10.137 , ≤ 5.10.* (semver)
Unaffected: 5.15.61 , ≤ 5.15.* (semver)
Unaffected: 5.18.18 , ≤ 5.18.* (semver)
Unaffected: 5.19.2 , ≤ 5.19.* (semver)
Unaffected: 6.0 , ≤ * (original_commit_for_fix)
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": "9e7dcb88ec8e85e4a8ad0ea494ea2f90f32d2583",
              "status": "affected",
              "version": "837830a4b439bfeb86c70b0115c280377c84714b",
              "versionType": "git"
            },
            {
              "lessThan": "91501513016903077f91033fa5d2aa26cac399b2",
              "status": "affected",
              "version": "837830a4b439bfeb86c70b0115c280377c84714b",
              "versionType": "git"
            },
            {
              "lessThan": "0f49613a213d918af790c1276f79da741968de11",
              "status": "affected",
              "version": "837830a4b439bfeb86c70b0115c280377c84714b",
              "versionType": "git"
            },
            {
              "lessThan": "58e863f64ee3d0879297e5e53b646e4b91e59620",
              "status": "affected",
              "version": "837830a4b439bfeb86c70b0115c280377c84714b",
              "versionType": "git"
            },
            {
              "lessThan": "95f466d22364a33d183509629d0879885b4f547e",
              "status": "affected",
              "version": "837830a4b439bfeb86c70b0115c280377c84714b",
              "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.9"
            },
            {
              "lessThan": "5.9",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.10.*",
              "status": "unaffected",
              "version": "5.10.137",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.15.*",
              "status": "unaffected",
              "version": "5.15.61",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.18.*",
              "status": "unaffected",
              "version": "5.18.18",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.19.*",
              "status": "unaffected",
              "version": "5.19.2",
              "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.10.137",
                  "versionStartIncluding": "5.9",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.15.61",
                  "versionStartIncluding": "5.9",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.18.18",
                  "versionStartIncluding": "5.9",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.19.2",
                  "versionStartIncluding": "5.9",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.0",
                  "versionStartIncluding": "5.9",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nnetfilter: nf_tables: do not allow CHAIN_ID to refer to another table\n\nWhen doing lookups for chains on the same batch by using its ID, a chain\nfrom a different table can be used. If a rule is added to a table but\nrefers to a chain in a different table, it will be linked to the chain in\ntable2, but would have expressions referring to objects in table1.\n\nThen, when table1 is removed, the rule will not be removed as its linked to\na chain in table2. When expressions in the rule are processed or removed,\nthat will lead to a use-after-free.\n\nWhen looking for chains by ID, use the table that was used for the lookup\nby name, and only return chains belonging to that same table."
        }
      ],
      "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 via NETLINK_NETFILTER netlink messages (nf_tables NEWRULE / verdict CHAIN_ID) from userspace, which requires local process access rather than remote packet delivery.\nAC:L - The attacker fully controls the nftables batch that creates two tables, a chain ID in one table, and a rule that cross-references it, then deletes the other table; no race or external condition is required beyond attacker-controlled netlink operations.\nPR:L - nfnetlink requires CAP_NET_ADMIN checked via netlink_net_capable against the socket network namespace\u0027s user_ns, which an unprivileged user obtains with user+net namespaces (unshare -Urn), matching established nftables LPE prerequisites.\nUI:N - Exploitation requires only attacker-sent netlink batches; no victim action such as mounting a filesystem or opening a crafted file is needed.\nS:U - Successful exploitation yields privilege escalation within the same kernel/host security authority; this is not a VM escape, IOMMU bypass, or cross-boundary sandbox escape.\nC:H - The bug is a confirmed use-after-free on nftables objects/expressions after cross-table CHAIN_ID linking, and UAF reclaim gives the attacker control of freed object contents enabling arbitrary kernel memory disclosure.\nI:H - The same UAF is the same class as CVE-2022-2586 (SET_ID cross-table UAF), which was exploited for local privilege escalation via object ops hijacking, so integrity impact includes arbitrary write and code execution.\nA:H - Use-after-free of nftables rule expressions/objects can trigger kernel oops/panic when dangling pointers are processed or freed, producing a full availability impact."
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-08-05T08:57:41.784Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/9e7dcb88ec8e85e4a8ad0ea494ea2f90f32d2583"
        },
        {
          "url": "https://git.kernel.org/stable/c/91501513016903077f91033fa5d2aa26cac399b2"
        },
        {
          "url": "https://git.kernel.org/stable/c/0f49613a213d918af790c1276f79da741968de11"
        },
        {
          "url": "https://git.kernel.org/stable/c/58e863f64ee3d0879297e5e53b646e4b91e59620"
        },
        {
          "url": "https://git.kernel.org/stable/c/95f466d22364a33d183509629d0879885b4f547e"
        }
      ],
      "title": "netfilter: nf_tables: do not allow CHAIN_ID to refer to another table",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2022-50212",
    "datePublished": "2025-06-18T11:03:50.366Z",
    "dateReserved": "2025-06-18T10:57:27.429Z",
    "dateUpdated": "2026-08-05T08:57:41.784Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "epss": {
      "cve": "CVE-2022-50212",
      "date": "2026-08-05",
      "epss": "0.00193",
      "percentile": "0.09176"
    },
    "nvd": "{\"cve\":{\"id\":\"CVE-2022-50212\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2025-06-18T11:15:52.087\",\"lastModified\":\"2026-08-04T10:18:07.117\",\"vulnStatus\":\"Modified\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"In the Linux kernel, the following vulnerability has been resolved:\\n\\nnetfilter: nf_tables: do not allow CHAIN_ID to refer to another table\\n\\nWhen doing lookups for chains on the same batch by using its ID, a chain\\nfrom a different table can be used. If a rule is added to a table but\\nrefers to a chain in a different table, it will be linked to the chain in\\ntable2, but would have expressions referring to objects in table1.\\n\\nThen, when table1 is removed, the rule will not be removed as its linked to\\na chain in table2. When expressions in the rule are processed or removed,\\nthat will lead to a use-after-free.\\n\\nWhen looking for chains by ID, use the table that was used for the lookup\\nby name, and only return chains belonging to that same table.\"},{\"lang\":\"es\",\"value\":\"En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: netfilter: nf_tables: no permitir que CHAIN_ID haga referencia a otra tabla Al realizar b\u00fasquedas de cadenas en el mismo lote usando su ID, se puede usar una cadena de una tabla diferente. Si se agrega una regla a una tabla pero hace referencia a una cadena en una tabla diferente, se vincular\u00e1 a la cadena en la tabla2, pero tendr\u00eda expresiones que hacen referencia a objetos en la tabla1. Luego, cuando se elimina la tabla1, la regla no se eliminar\u00e1 ya que est\u00e1 vinculada a una cadena en la tabla2. Cuando se procesan o eliminan expresiones en la regla, eso conducir\u00e1 a un Use-After-Free. Al buscar cadenas por ID, use la tabla que se us\u00f3 para la b\u00fasqueda por nombre y solo devuelva las cadenas que pertenecen a esa misma tabla.\"}],\"affected\":[{\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"affectedData\":[{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"unaffected\",\"programFiles\":[\"net/netfilter/nf_tables_api.c\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"837830a4b439bfeb86c70b0115c280377c84714b\",\"lessThan\":\"9e7dcb88ec8e85e4a8ad0ea494ea2f90f32d2583\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"837830a4b439bfeb86c70b0115c280377c84714b\",\"lessThan\":\"91501513016903077f91033fa5d2aa26cac399b2\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"837830a4b439bfeb86c70b0115c280377c84714b\",\"lessThan\":\"0f49613a213d918af790c1276f79da741968de11\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"837830a4b439bfeb86c70b0115c280377c84714b\",\"lessThan\":\"58e863f64ee3d0879297e5e53b646e4b91e59620\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"837830a4b439bfeb86c70b0115c280377c84714b\",\"lessThan\":\"95f466d22364a33d183509629d0879885b4f547e\",\"versionType\":\"git\",\"status\":\"affected\"}]},{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"affected\",\"programFiles\":[\"net/netfilter/nf_tables_api.c\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"5.9\",\"status\":\"affected\"},{\"version\":\"0\",\"lessThan\":\"5.9\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"5.10.137\",\"lessThanOrEqual\":\"5.10.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"5.15.61\",\"lessThanOrEqual\":\"5.15.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"5.18.18\",\"lessThanOrEqual\":\"5.18.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"5.19.2\",\"lessThanOrEqual\":\"5.19.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.0\",\"lessThanOrEqual\":\"*\",\"versionType\":\"original_commit_for_fix\",\"status\":\"unaffected\"}]}]}],\"metrics\":{\"cvssMetricV31\":[{\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"type\":\"Secondary\",\"cvssData\":{\"version\":\"3.1\",\"vectorString\":\"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H\",\"baseScore\":7.8,\"baseSeverity\":\"HIGH\",\"attackVector\":\"LOCAL\",\"attackComplexity\":\"LOW\",\"privilegesRequired\":\"LOW\",\"userInteraction\":\"NONE\",\"scope\":\"UNCHANGED\",\"confidentialityImpact\":\"HIGH\",\"integrityImpact\":\"HIGH\",\"availabilityImpact\":\"HIGH\"},\"exploitabilityScore\":1.8,\"impactScore\":5.9},{\"source\":\"nvd@nist.gov\",\"type\":\"Primary\",\"cvssData\":{\"version\":\"3.1\",\"vectorString\":\"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H\",\"baseScore\":7.8,\"baseSeverity\":\"HIGH\",\"attackVector\":\"LOCAL\",\"attackComplexity\":\"LOW\",\"privilegesRequired\":\"LOW\",\"userInteraction\":\"NONE\",\"scope\":\"UNCHANGED\",\"confidentialityImpact\":\"HIGH\",\"integrityImpact\":\"HIGH\",\"availabilityImpact\":\"HIGH\"},\"exploitabilityScore\":1.8,\"impactScore\":5.9}]},\"weaknesses\":[{\"source\":\"nvd@nist.gov\",\"type\":\"Primary\",\"description\":[{\"lang\":\"en\",\"value\":\"CWE-416\"}]}],\"configurations\":[{\"nodes\":[{\"operator\":\"OR\",\"negate\":false,\"cpeMatch\":[{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"5.9\",\"versionEndExcluding\":\"5.10.137\",\"matchCriteriaId\":\"1AD6A3BA-DF30-4C08-B5FF-3276F9C28F56\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"5.11\",\"versionEndExcluding\":\"5.15.61\",\"matchCriteriaId\":\"51861563-7F40-460F-82CD-2D3FBDAD6618\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"5.16\",\"versionEndExcluding\":\"5.18.18\",\"matchCriteriaId\":\"5B42E453-8837-49D0-A5EF-03F818A6DC11\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"5.19\",\"versionEndExcluding\":\"5.19.2\",\"matchCriteriaId\":\"A1A2A5A5-4598-4D7E-BA07-4660398D6C8F\"}]}]}],\"references\":[{\"url\":\"https://git.kernel.org/stable/c/0f49613a213d918af790c1276f79da741968de11\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/58e863f64ee3d0879297e5e53b646e4b91e59620\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/91501513016903077f91033fa5d2aa26cac399b2\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/95f466d22364a33d183509629d0879885b4f547e\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/9e7dcb88ec8e85e4a8ad0ea494ea2f90f32d2583\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]}]}}",
    "redhat_vex": {
      "aggregate_severity": "Moderate",
      "current_release_date": "2026-08-04T19:38:34+00:00",
      "cve": "CVE-2022-50212",
      "id": "CVE-2022-50212",
      "initial_release_date": "2022-01-01T00:00:00+00:00",
      "product_status:fixed": "166",
      "product_status:known_affected": "22",
      "product_status:known_not_affected": "166",
      "source": "Red Hat CSAF VEX",
      "status": "final",
      "title": "kernel: netfilter: nf_tables: do not allow CHAIN_ID to refer to another table",
      "url": "https://security.access.redhat.com/data/csaf/v2/vex/2022/cve-2022-50212.json",
      "version": "3"
    },
    "suse_vex": {
      "aggregate_severity": "moderate",
      "current_release_date": "2026-08-05T01:11:12Z",
      "cve": "CVE-2022-50212",
      "id": "CVE-2022-50212",
      "initial_release_date": "2025-06-19T03:38:57Z",
      "product_status:known_not_affected": "294",
      "product_status:recommended": "245",
      "source": "SUSE CSAF VEX",
      "status": "interim",
      "title": "SUSE CVE CVE-2022-50212",
      "url": "https://ftp.suse.com/pub/projects/security/csaf-vex/cve-2022-50212.json",
      "version": "40"
    }
  }
}



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…

Loading…