Files
vuln-cve/data/2021/46xxx/CVE-2021-46913.json
T

221 lines
12 KiB
JSON

{
"dataType": "CVE_RECORD",
"dataVersion": "5.2",
"cveMetadata": {
"cveId": "CVE-2021-46913",
"assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"state": "PUBLISHED",
"assignerShortName": "Linux",
"dateReserved": "2024-02-25T13:45:52.718Z",
"datePublished": "2024-02-27T06:53:52.780Z",
"dateUpdated": "2026-08-05T08:45:04.197Z"
},
"containers": {
"cna": {
"providerMetadata": {
"orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"shortName": "Linux",
"dateUpdated": "2026-08-05T08:45:04.197Z"
},
"descriptions": [
{
"lang": "en",
"value": "In the Linux kernel, the following vulnerability has been resolved:\n\nnetfilter: nftables: clone set element expression template\n\nmemcpy() breaks when using connlimit in set elements. Use\nnft_expr_clone() to initialize the connlimit expression list, otherwise\nconnlimit garbage collector crashes when walking on the list head copy.\n\n[ 493.064656] Workqueue: events_power_efficient nft_rhash_gc [nf_tables]\n[ 493.064685] RIP: 0010:find_or_evict+0x5a/0x90 [nf_conncount]\n[ 493.064694] Code: 2b 43 40 83 f8 01 77 0d 48 c7 c0 f5 ff ff ff 44 39 63 3c 75 df 83 6d 18 01 48 8b 43 08 48 89 de 48 8b 13 48 8b 3d ee 2f 00 00 <48> 89 42 08 48 89 10 48 b8 00 01 00 00 00 00 ad de 48 89 03 48 83\n[ 493.064699] RSP: 0018:ffffc90000417dc0 EFLAGS: 00010297\n[ 493.064704] RAX: 0000000000000000 RBX: ffff888134f38410 RCX: 0000000000000000\n[ 493.064708] RDX: 0000000000000000 RSI: ffff888134f38410 RDI: ffff888100060cc0\n[ 493.064711] RBP: ffff88812ce594a8 R08: ffff888134f38438 R09: 00000000ebb9025c\n[ 493.064714] R10: ffffffff8219f838 R11: 0000000000000017 R12: 0000000000000001\n[ 493.064718] R13: ffffffff82146740 R14: ffff888134f38410 R15: 0000000000000000\n[ 493.064721] FS: 0000000000000000(0000) GS:ffff88840e440000(0000) knlGS:0000000000000000\n[ 493.064725] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033\n[ 493.064729] CR2: 0000000000000008 CR3: 00000001330aa002 CR4: 00000000001706e0\n[ 493.064733] Call Trace:\n[ 493.064737] nf_conncount_gc_list+0x8f/0x150 [nf_conncount]\n[ 493.064746] nft_rhash_gc+0x106/0x390 [nf_tables]"
}
],
"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 only via nfnetlink NFT_MSG_NEWSETELEM configuration of nftables set elements with stateful expressions (connlimit), which requires a local netlink socket rather than remote packet processing.\nAC:L - An attacker can reliably create a set with a connlimit expression, add elements so memcpy leaves a dangling list_head, then trigger the corruption via the scheduled nft_rhash_gc work, packet eval (nf_conncount_add), or set teardown—no conditions beyond attacker control.\nPR:L - nfnetlink requires CAP_NET_ADMIN via netlink_net_capable, but that capability is obtainable in an unprivileged user namespace (unshare -Urn), so nftables is reachable as an unprivileged local user.\nUI:N - Exploitation needs no victim action; the attacker configures nftables and can trigger GC/eval/destroy themselves.\nS:U - This is a standard kernel memory-corruption privilege-escalation path within the same host authority; it does not cross VM/IOMMU/sandbox boundaries.\nC:H - memcpy of the connlimit expression copies list_head pointers, then kfree of the source creates a UAF; with heap spray that UAF yields forged list nodes and arbitrary kernel memory read primitives.\nI:H - Walking or deleting entries on the corrupted/UAF'd nf_conncount list (list_del in find_or_evict/conn_free) provides a classic arbitrary kernel write usable for control-flow hijacking.\nA:H - The reported oops in find_or_evict during nft_rhash_gc (NULL write via corrupted list_del) is a reliable kernel crash/DoS, and UAFs remain crash-prone even when not fully exploited."
}
]
}
],
"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": "4094445229760d0d31a4190dfe88fe815c9fc34e",
"lessThan": "e51ff3ffc316377cca21de8b80404eed0c37b3c3",
"status": "affected",
"versionType": "git"
},
{
"version": "4094445229760d0d31a4190dfe88fe815c9fc34e",
"lessThan": "47d8de3c226574a3ddb8b87d0c152028d1bafef4",
"status": "affected",
"versionType": "git"
},
{
"version": "4094445229760d0d31a4190dfe88fe815c9fc34e",
"lessThan": "4d8f9065830e526c83199186c5f56a6514f457d2",
"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.7",
"status": "affected"
},
{
"version": "0",
"lessThan": "5.7",
"status": "unaffected",
"versionType": "semver"
},
{
"version": "5.10.64",
"lessThanOrEqual": "5.10.*",
"status": "unaffected",
"versionType": "semver"
},
{
"version": "5.11.16",
"lessThanOrEqual": "5.11.*",
"status": "unaffected",
"versionType": "semver"
},
{
"version": "5.12",
"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.7",
"versionEndExcluding": "5.10.64"
},
{
"vulnerable": true,
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionStartIncluding": "5.7",
"versionEndExcluding": "5.11.16"
},
{
"vulnerable": true,
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionStartIncluding": "5.7",
"versionEndExcluding": "5.12"
}
]
}
]
}
],
"references": [
{
"url": "https://git.kernel.org/stable/c/e51ff3ffc316377cca21de8b80404eed0c37b3c3"
},
{
"url": "https://git.kernel.org/stable/c/47d8de3c226574a3ddb8b87d0c152028d1bafef4"
},
{
"url": "https://git.kernel.org/stable/c/4d8f9065830e526c83199186c5f56a6514f457d2"
}
],
"title": "netfilter: nftables: clone set element expression template",
"x_generator": {
"engine": "bippy-1.2.0"
}
},
"adp": [
{
"metrics": [
{
"other": {
"type": "ssvc",
"content": {
"timestamp": "2024-07-25T16:05:03.441249Z",
"id": "CVE-2021-46913",
"options": [
{
"Exploitation": "none"
},
{
"Automatable": "no"
},
{
"Technical Impact": "partial"
}
],
"role": "CISA Coordinator",
"version": "2.0.3"
}
}
}
],
"title": "CISA ADP Vulnrichment",
"providerMetadata": {
"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"shortName": "CISA-ADP",
"dateUpdated": "2024-07-25T16:05:13.419Z"
}
},
{
"providerMetadata": {
"orgId": "af854a3a-2127-422b-91ae-364da2661108",
"shortName": "CVE",
"dateUpdated": "2024-08-04T05:17:42.990Z"
},
"title": "CVE Program Container",
"references": [
{
"url": "https://git.kernel.org/stable/c/e51ff3ffc316377cca21de8b80404eed0c37b3c3",
"tags": [
"x_transferred"
]
},
{
"url": "https://git.kernel.org/stable/c/47d8de3c226574a3ddb8b87d0c152028d1bafef4",
"tags": [
"x_transferred"
]
},
{
"url": "https://git.kernel.org/stable/c/4d8f9065830e526c83199186c5f56a6514f457d2",
"tags": [
"x_transferred"
]
}
]
}
]
}
}