Skip to main content
← All vulnerabilities
CVE-2021-47060

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

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 5.4.119, 4.5, 4.10, 4.15, 4.20, and 1 more
None on Exploit-DB, Metasploit or GitHub
  • Exploitation: none
  • Automatable: no
  • Technical impact: partial

Summary

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.

Timeline

  1. CVE published
  2. CISA SSVC assessment

    Exploitation: none · Automatable: no · Technical impact: partial

  3. Record last updated

Affected versions

  • Linux Linux

    From 5.4.66 · fixed in 5.4.119; From 4.4.238 · fixed in 4.5; From 4.9.238 · fixed in 4.10; From 4.14.200 · fixed in 4.15; From 4.19.148 · fixed in 4.20; From 5.8.10 · fixed in 5.9

  • Linux Linux

    5.9

References 5

git.kernel.org