Skip to content
CVE PROGRAM SOURCE RECORD7.8 High

CVE-2021-47060

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

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.

Affected products

Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.

Linux Linux

Default version status: unaffected

  • 41b2ea7a6a11e2b1a7f2c29e1675a709a6b2b98d to < 7d1bc32d6477ff96a32695ea4be8144e4513ab2daffected
  • f65886606c2d3b562716de030706dfe1bea4ed5e to < 2a20592baff59c5351c5200ec667e1a2aa22af85affected
  • f65886606c2d3b562716de030706dfe1bea4ed5e to < 168e82f640ed1891a700bdb43e37da354b2ab63caffected
  • f65886606c2d3b562716de030706dfe1bea4ed5e to < 50cbad42bfea8c052b7ca590bd4126cdc898713caffected
  • f65886606c2d3b562716de030706dfe1bea4ed5e to < 5d3c4c79384af06e3c8e25b7770b6247496b4417affected
  • f0dfffce3f4ffd5f822568a4a6fb34c010e939d1affected
  • 840e124f89a5127e7eb97ebf377f4b8ca745c070affected
  • 40a023f681befd9b2862a3c16fb306a38b359ae5affected
  • 19184bd06f488af62924ff1747614a8cb284ad63affected
  • 68c125324b5e1d1d22805653735442923d896a1daffected
  • 5.4.66 to < 5.4.119affected
  • 4.4.238 to < 4.5affected
  • 4.9.238 to < 4.10affected
  • 4.14.200 to < 4.15affected
  • 4.19.148 to < 4.20affected
  • 5.8.10 to < 5.9affected

Linux Linux

Default version status: affected

  • 5.9affected
  • 0 to < 5.9unaffected
  • 5.4.119 to ≤ 5.4.*unaffected
  • 5.10.37 to ≤ 5.10.*unaffected
  • 5.11.21 to ≤ 5.11.*unaffected
  • 5.12.4 to ≤ 5.12.*unaffected
  • 5.13 to ≤ *unaffected

References