CVE-2021-47060

HighCVSS 7.8/10Last modified Aug 4, 2026

Description

In the Linux kernel, the following vulnerability has been resolved:

KVM: Stop looking for coalesced MMIO zones if the bus is destroyed

Abort the walk of coalesced MMIO zones if kvm_io_bus_unregister_dev() fails to allocate memory for the new instance of the bus. If it can't instantiate a new bus, unregister_dev() destroys all devices _except_ the target device. But, it doesn't tell the caller that it obliterated the bus and invoked the destructor for all devices that were on the bus. In the coalesced MMIO case, this can result in a deleted list entry dereference due to attempting to continue iterating on coalesced_zones after future entries (in the walk) have been deleted.

Opportunistically add curly braces to the for-loop, which encompasses many lines but sneaks by without braces due to the guts being a single if statement.

Metrics

CVSS 3.1 7.8/10CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

Affected software

VendorProductVersions
LinuxLinux>= 41b2ea7a6a11e2b1a7f2c29e1675a709a6b2b98d, < 7d1bc32d6477ff96a32695ea4be8144e4513ab2d; >= f65886606c2d3b562716de030706dfe1bea4ed5e, < 2a20592baff59c5351c5200ec667e1a2aa22af85; >= f65886606c2d3b562716de030706dfe1bea4ed5e, < 168e82f640ed1891a700bdb43e37da354b2ab63c; >= f65886606c2d3b562716de030706dfe1bea4ed5e, < 50cbad42bfea8c052b7ca590bd4126cdc898713c; >= f65886606c2d3b562716de030706dfe1bea4ed5e, < 5d3c4c79384af06e3c8e25b7770b6247496b4417; f0dfffce3f4ffd5f822568a4a6fb34c010e939d1; 840e124f89a5127e7eb97ebf377f4b8ca745c070; 40a023f681befd9b2862a3c16fb306a38b359ae5; 19184bd06f488af62924ff1747614a8cb284ad63; 68c125324b5e1d1d22805653735442923d896a1d; >= 5.4.66, < 5.4.119; >= 4.4.238, < 4.5; >= 4.9.238, < 4.10; >= 4.14.200, < 4.15; >= 4.19.148, < 4.20; >= 5.8.10, < 5.9
LinuxLinux5.9

References

Timeline

Published
Feb 29, 2024
Last modified
Aug 4, 2026
NVD status
Modified

Related CVEs from 2021

CVE-2021-470617.8In the Linux kernel, the following vulnerability has been resolved: KVM: Destroy I/O bus devices on unregister failure _after_ sync'ing SRCCVE-2021-470625.5In the Linux kernel, the following vulnerability has been resolved: KVM: SVM: Use online_vcpus, not created_vcpus, to iterate over vCPUs UCVE-2021-470637.8In the Linux kernel, the following vulnerability has been resolved: drm: bridge/panel: Cleanup connector on bridge detach If we don't callCVE-2021-470645.3In the Linux kernel, the following vulnerability has been resolved: mt76: fix potential DMA mapping leak With buf uninitialized in mt76_dmCVE-2021-470657.8In the Linux kernel, the following vulnerability has been resolved: rtw88: Fix array overrun in rtw_get_tx_power_params() Using a kernel wCVE-2021-470665.5In the Linux kernel, the following vulnerability has been resolved: async_xor: increase src_offs when dropping destination page Now we supCVE-2021-470675.5In the Linux kernel, the following vulnerability has been resolved: soc/tegra: regulators: Fix locking up when voltage-spread is out of ranCVE-2021-470687.8In the Linux kernel, the following vulnerability has been resolved: net/nfc: fix use-after-free llcp_sock_bind/connect Commits 8a4cd82d ("CVE-2021-470697.0In the Linux kernel, the following vulnerability has been resolved: ipc/mqueue, msg, sem: avoid relying on a stack reference past its expirCVE-2021-470705.5In the Linux kernel, the following vulnerability has been resolved: uio_hv_generic: Fix another memory leak in error handling paths MemoryCVE-2021-470715.5In the Linux kernel, the following vulnerability has been resolved: uio_hv_generic: Fix a memory leak in error handling paths If 'vmbus_esCVE-2021-470725.5In the Linux kernel, the following vulnerability has been resolved: btrfs: fix removed dentries still existing after log is synced When we
CVE-2021-47060: High severity, CVSS 7.8 | Vulnix