{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2021-47061","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","state":"PUBLISHED","assignerShortName":"Linux","dateReserved":"2024-02-29T22:33:44.294Z","datePublished":"2024-02-29T22:37:35.689Z","dateUpdated":"2026-08-05T08:45:47.418Z"},"containers":{"cna":{"providerMetadata":{"orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","shortName":"Linux","dateUpdated":"2026-08-05T08:45:47.418Z"},"descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nKVM: Destroy I/O bus devices on unregister failure _after_ sync'ing SRCU\n\nIf allocating a new instance of an I/O bus fails when unregistering a\ndevice, wait to destroy the device until after all readers are guaranteed\nto see the new null bus.  Destroying devices before the bus is nullified\ncould lead to use-after-free since readers expect the devices on their\nreference of the bus to remain valid."}],"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 - Reachable only through local KVM ioctls on a VM fd (/dev/kvm → KVM_CREATE_VM → KVM_IOEVENTFD or KVM_UNREGISTER_COALESCED_MMIO), not via network packets or unaided guest exits.\nAC:L - An attacker who owns the VM controls both sides (unregister ioctl under slots_lock and concurrent VCPU MMIO/PIO under SRCU) and can induce GFP_KERNEL_ACCOUNT allocation failure via memory pressure/memcg, so the race is attacker-driven.\nPR:L - Requires opening /dev/kvm and creating a VM (typically kvm-group membership), not real root or CAP_SYS_ADMIN; the unregister paths have no additional capability gate.\nUI:N - Exploitation is fully self-driven via the attacker’s own KVM ioctls and VCPU threads; no separate victim action is required.\nS:U - This is host-userspace privilege escalation into the host kernel via the attacker’s VM fd, not a guest-to-host escape across a separate security authority.\nC:H - Use-after-free of heap-backed I/O devices (ioeventfd/coalesced MMIO) while VCPUs still invoke their ops enables reclaim and arbitrary read primitives.\nI:H - The same UAF lets an attacker forge device ops (function pointers) on reclaimed objects during MMIO/PIO emulation, enabling control-flow hijack and arbitrary write.\nA:H - Use-after-free and destroyed-bus list walks cause kernel oops/panic even without full exploitation, fully impacting host availability."}]}],"affected":[{"product":"Linux","vendor":"Linux","defaultStatus":"unaffected","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["virt/kvm/kvm_main.c"],"versions":[{"version":"f65886606c2d3b562716de030706dfe1bea4ed5e","lessThan":"03c6cccedd3913006744faa252a4da5145299343","status":"affected","versionType":"git"},{"version":"f65886606c2d3b562716de030706dfe1bea4ed5e","lessThan":"4e899ca848636b37e9ac124bc1723862a7d7d927","status":"affected","versionType":"git"},{"version":"f65886606c2d3b562716de030706dfe1bea4ed5e","lessThan":"30f46c6993731efb2a690c9197c0fd9ed425da2d","status":"affected","versionType":"git"},{"version":"f65886606c2d3b562716de030706dfe1bea4ed5e","lessThan":"2ee3757424be7c1cd1d0bbfa6db29a7edd82a250","status":"affected","versionType":"git"},{"version":"f0dfffce3f4ffd5f822568a4a6fb34c010e939d1","status":"affected","versionType":"git"},{"version":"840e124f89a5127e7eb97ebf377f4b8ca745c070","status":"affected","versionType":"git"},{"version":"40a023f681befd9b2862a3c16fb306a38b359ae5","status":"affected","versionType":"git"},{"version":"19184bd06f488af62924ff1747614a8cb284ad63","status":"affected","versionType":"git"},{"version":"41b2ea7a6a11e2b1a7f2c29e1675a709a6b2b98d","status":"affected","versionType":"git"},{"version":"68c125324b5e1d1d22805653735442923d896a1d","status":"affected","versionType":"git"},{"version":"4.4.238","lessThan":"4.5","status":"affected","versionType":"semver"},{"version":"4.9.238","lessThan":"4.10","status":"affected","versionType":"semver"},{"version":"4.14.200","lessThan":"4.15","status":"affected","versionType":"semver"},{"version":"4.19.148","lessThan":"4.20","status":"affected","versionType":"semver"},{"version":"5.4.66","lessThan":"5.5","status":"affected","versionType":"semver"},{"version":"5.8.10","lessThan":"5.9","status":"affected","versionType":"semver"}]},{"product":"Linux","vendor":"Linux","defaultStatus":"affected","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["virt/kvm/kvm_main.c"],"versions":[{"version":"5.9","status":"affected"},{"version":"0","lessThan":"5.9","status":"unaffected","versionType":"semver"},{"version":"5.10.37","lessThanOrEqual":"5.10.*","status":"unaffected","versionType":"semver"},{"version":"5.11.21","lessThanOrEqual":"5.11.*","status":"unaffected","versionType":"semver"},{"version":"5.12.4","lessThanOrEqual":"5.12.*","status":"unaffected","versionType":"semver"},{"version":"5.13","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.37"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.9","versionEndExcluding":"5.11.21"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.9","versionEndExcluding":"5.12.4"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.9","versionEndExcluding":"5.13"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.4.238"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.9.238"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.14.200"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.19.148"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.4.66"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.8.10"}]}]}],"references":[{"url":"https://git.kernel.org/stable/c/03c6cccedd3913006744faa252a4da5145299343"},{"url":"https://git.kernel.org/stable/c/4e899ca848636b37e9ac124bc1723862a7d7d927"},{"url":"https://git.kernel.org/stable/c/30f46c6993731efb2a690c9197c0fd9ed425da2d"},{"url":"https://git.kernel.org/stable/c/2ee3757424be7c1cd1d0bbfa6db29a7edd82a250"}],"title":"KVM: Destroy I/O bus devices on unregister failure _after_ sync'ing SRCU","x_generator":{"engine":"bippy-1.2.0"}},"adp":[{"providerMetadata":{"orgId":"af854a3a-2127-422b-91ae-364da2661108","shortName":"CVE","dateUpdated":"2024-08-04T05:24:39.011Z"},"title":"CVE Program Container","references":[{"url":"https://git.kernel.org/stable/c/03c6cccedd3913006744faa252a4da5145299343","tags":["x_transferred"]},{"url":"https://git.kernel.org/stable/c/4e899ca848636b37e9ac124bc1723862a7d7d927","tags":["x_transferred"]},{"url":"https://git.kernel.org/stable/c/30f46c6993731efb2a690c9197c0fd9ed425da2d","tags":["x_transferred"]},{"url":"https://git.kernel.org/stable/c/2ee3757424be7c1cd1d0bbfa6db29a7edd82a250","tags":["x_transferred"]}]},{"metrics":[{"other":{"type":"ssvc","content":{"timestamp":"2024-08-08T18:46:02.297393Z","id":"CVE-2021-47061","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-08-08T18:46:13.135Z"}}]}}