Files
vuln-cve/data/2021/47xxx/CVE-2021-47517.json
T

221 lines
12 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"dataType": "CVE_RECORD",
"dataVersion": "5.2",
"cveMetadata": {
"cveId": "CVE-2021-47517",
"assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"state": "PUBLISHED",
"assignerShortName": "Linux",
"dateReserved": "2024-05-24T15:02:54.824Z",
"datePublished": "2024-05-24T15:09:30.675Z",
"dateUpdated": "2026-08-05T08:48:13.450Z"
},
"containers": {
"cna": {
"providerMetadata": {
"orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"shortName": "Linux",
"dateUpdated": "2026-08-05T08:48:13.450Z"
},
"descriptions": [
{
"lang": "en",
"value": "In the Linux kernel, the following vulnerability has been resolved:\n\nethtool: do not perform operations on net devices being unregistered\n\nThere is a short period between a net device starts to be unregistered\nand when it is actually gone. In that time frame ethtool operations\ncould still be performed, which might end up in unwanted or undefined\nbehaviours[1].\n\nDo not allow ethtool operations after a net device starts its\nunregistration. This patch targets the netlink part as the ioctl one\nisn't affected: the reference to the net device is taken and the\noperation is executed within an rtnl lock section and the net device\nwon't be found after unregister.\n\n[1] For example adding Tx queues after unregister ends up in NULL\n pointer exceptions and UaFs, such as:\n\n BUG: KASAN: use-after-free in kobject_get+0x14/0x90\n Read of size 1 at addr ffff88801961248c by task ethtool/755\n\n CPU: 0 PID: 755 Comm: ethtool Not tainted 5.15.0-rc6+ #778\n Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.14.0-4.fc34 04/014\n Call Trace:\n dump_stack_lvl+0x57/0x72\n print_address_description.constprop.0+0x1f/0x140\n kasan_report.cold+0x7f/0x11b\n kobject_get+0x14/0x90\n kobject_add_internal+0x3d1/0x450\n kobject_init_and_add+0xba/0xf0\n netdev_queue_update_kobjects+0xcf/0x200\n netif_set_real_num_tx_queues+0xb4/0x310\n veth_set_channels+0x1c3/0x550\n ethnl_set_channels+0x524/0x610"
}
],
"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 triggered via the ethtool Generic Netlink interface (AF_NETLINK / ETHTOOL_MSG_*_SET), a local syscall path; the ioctl path is unaffected and there is no remote packet-processing entry.\nAC:L - An attacker who can create and delete a netdev (e.g. veth) and issue ethtool CHANNELS_SET controls both sides of the race: hold a ref via ethnl_parse_header_dev_get, unregister under rtnl (tearing down queue kobjects), then set channels after rtnl is free—winning the window is attacker-driven and retryable.\nPR:L - CHANNELS_SET (and other SET ops that call ethnl_ops_begin) require GENL_UNS_ADMIN_PERM, i.e. CAP_NET_ADMIN in the network namespace’s user_ns; with netnsok and unshare -Urn this is available to an unprivileged userns user, not real init-ns root.\nUI:N - The attacker creates the device, races unregister with ethtool SET, and triggers the UAF themselves; no separate victim action is required.\nS:U - Impact is kernel heap UAF / oops within the same host OS authority (ethtool/netdevice sysfs kobjects); this is not a VM escape, IOMMU bypass, or other cross-boundary compromise.\nC:H - The fix documents a KASAN use-after-free in kobject_get when adding Tx queues after unregister; per guidance a UAF yields a high confidentiality impact via heap reuse/read primitives.\nI:H - The same UAF on unregistered queues_kset/queue kobjects enables heap spray and corruption of adjacent objects, supporting write and control-flow hijacking primitives.\nA:H - The report shows KASAN UAF and NULL pointer exceptions from operating on unregistering devices, which can oops/panic the kernel and fully impact availability."
}
]
}
],
"affected": [
{
"product": "Linux",
"vendor": "Linux",
"defaultStatus": "unaffected",
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"programFiles": [
"net/ethtool/netlink.c"
],
"versions": [
{
"version": "041b1c5d4a53e97fc9e029ae32469552ca12cb9b",
"lessThan": "7c26da3be1e9843a15b5318f90db8a564479d2ac",
"status": "affected",
"versionType": "git"
},
{
"version": "041b1c5d4a53e97fc9e029ae32469552ca12cb9b",
"lessThan": "cfd719f04267108f5f5bf802b9d7de69e99a99f9",
"status": "affected",
"versionType": "git"
},
{
"version": "041b1c5d4a53e97fc9e029ae32469552ca12cb9b",
"lessThan": "dde91ccfa25fd58f64c397d91b81a4b393100ffa",
"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/ethtool/netlink.c"
],
"versions": [
{
"version": "5.6",
"status": "affected"
},
{
"version": "0",
"lessThan": "5.6",
"status": "unaffected",
"versionType": "semver"
},
{
"version": "5.10.87",
"lessThanOrEqual": "5.10.*",
"status": "unaffected",
"versionType": "semver"
},
{
"version": "5.15.8",
"lessThanOrEqual": "5.15.*",
"status": "unaffected",
"versionType": "semver"
},
{
"version": "5.16",
"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.6",
"versionEndExcluding": "5.10.87"
},
{
"vulnerable": true,
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionStartIncluding": "5.6",
"versionEndExcluding": "5.15.8"
},
{
"vulnerable": true,
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionStartIncluding": "5.6",
"versionEndExcluding": "5.16"
}
]
}
]
}
],
"references": [
{
"url": "https://git.kernel.org/stable/c/7c26da3be1e9843a15b5318f90db8a564479d2ac"
},
{
"url": "https://git.kernel.org/stable/c/cfd719f04267108f5f5bf802b9d7de69e99a99f9"
},
{
"url": "https://git.kernel.org/stable/c/dde91ccfa25fd58f64c397d91b81a4b393100ffa"
}
],
"title": "ethtool: do not perform operations on net devices being unregistered",
"x_generator": {
"engine": "bippy-1.2.0"
}
},
"adp": [
{
"title": "CISA ADP Vulnrichment",
"metrics": [
{
"other": {
"type": "ssvc",
"content": {
"id": "CVE-2021-47517",
"role": "CISA Coordinator",
"options": [
{
"Exploitation": "none"
},
{
"Automatable": "no"
},
{
"Technical Impact": "partial"
}
],
"version": "2.0.3",
"timestamp": "2024-05-24T19:18:28.551288Z"
}
}
}
],
"providerMetadata": {
"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"shortName": "CISA-ADP",
"dateUpdated": "2024-06-04T17:13:57.373Z"
}
},
{
"providerMetadata": {
"orgId": "af854a3a-2127-422b-91ae-364da2661108",
"shortName": "CVE",
"dateUpdated": "2024-08-04T05:39:59.610Z"
},
"title": "CVE Program Container",
"references": [
{
"url": "https://git.kernel.org/stable/c/7c26da3be1e9843a15b5318f90db8a564479d2ac",
"tags": [
"x_transferred"
]
},
{
"url": "https://git.kernel.org/stable/c/cfd719f04267108f5f5bf802b9d7de69e99a99f9",
"tags": [
"x_transferred"
]
},
{
"url": "https://git.kernel.org/stable/c/dde91ccfa25fd58f64c397d91b81a4b393100ffa",
"tags": [
"x_transferred"
]
}
]
}
]
}
}