{
    "dataType": "CVE_RECORD",
    "dataVersion": "5.2",
    "cveMetadata": {
        "cveId": "CVE-2022-50212",
        "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "state": "PUBLISHED",
        "assignerShortName": "Linux",
        "dateReserved": "2025-06-18T10:57:27.429Z",
        "datePublished": "2025-06-18T11:03:50.366Z",
        "dateUpdated": "2026-08-05T08:57:41.784Z"
    },
    "containers": {
        "cna": {
            "providerMetadata": {
                "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
                "shortName": "Linux",
                "dateUpdated": "2026-08-05T08:57:41.784Z"
            },
            "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": {
                        "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"
                    },
                    "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's 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."
                        }
                    ]
                }
            ],
            "affected": [
                {
                    "product": "Linux",
                    "vendor": "Linux",
                    "defaultStatus": "unaffected",
                    "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                    "programFiles": [
                        "net/netfilter/nf_tables_api.c"
                    ],
                    "versions": [
                        {
                            "version": "837830a4b439bfeb86c70b0115c280377c84714b",
                            "lessThan": "9e7dcb88ec8e85e4a8ad0ea494ea2f90f32d2583",
                            "status": "affected",
                            "versionType": "git"
                        },
                        {
                            "version": "837830a4b439bfeb86c70b0115c280377c84714b",
                            "lessThan": "91501513016903077f91033fa5d2aa26cac399b2",
                            "status": "affected",
                            "versionType": "git"
                        },
                        {
                            "version": "837830a4b439bfeb86c70b0115c280377c84714b",
                            "lessThan": "0f49613a213d918af790c1276f79da741968de11",
                            "status": "affected",
                            "versionType": "git"
                        },
                        {
                            "version": "837830a4b439bfeb86c70b0115c280377c84714b",
                            "lessThan": "58e863f64ee3d0879297e5e53b646e4b91e59620",
                            "status": "affected",
                            "versionType": "git"
                        },
                        {
                            "version": "837830a4b439bfeb86c70b0115c280377c84714b",
                            "lessThan": "95f466d22364a33d183509629d0879885b4f547e",
                            "status": "affected",
                            "versionType": "git"
                        }
                    ]
                },
                {
                    "product": "Linux",
                    "vendor": "Linux",
                    "defaultStatus": "affected",
                    "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                    "programFiles": [
                        "net/netfilter/nf_tables_api.c"
                    ],
                    "versions": [
                        {
                            "version": "5.9",
                            "status": "affected"
                        },
                        {
                            "version": "0",
                            "lessThan": "5.9",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "5.10.137",
                            "lessThanOrEqual": "5.10.*",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "5.15.61",
                            "lessThanOrEqual": "5.15.*",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "5.18.18",
                            "lessThanOrEqual": "5.18.*",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "5.19.2",
                            "lessThanOrEqual": "5.19.*",
                            "status": "unaffected",
                            "versionType": "semver"
                        },
                        {
                            "version": "6.0",
                            "lessThanOrEqual": "*",
                            "status": "unaffected",
                            "versionType": "original_commit_for_fix"
                        }
                    ]
                }
            ],
            "cpeApplicability": [
                {
                    "nodes": [
                        {
                            "operator": "OR",
                            "negate": false,
                            "cpeMatch": [
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "5.9",
                                    "versionEndExcluding": "5.10.137"
                                },
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "5.9",
                                    "versionEndExcluding": "5.15.61"
                                },
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "5.9",
                                    "versionEndExcluding": "5.18.18"
                                },
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "5.9",
                                    "versionEndExcluding": "5.19.2"
                                },
                                {
                                    "vulnerable": true,
                                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                                    "versionStartIncluding": "5.9",
                                    "versionEndExcluding": "6.0"
                                }
                            ]
                        }
                    ]
                }
            ],
            "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"
            }
        }
    }
}