Ende April 2016 haben Wei Xiao, Qinghao Tang und Zuozhi Fzz verschiedene Sicherheitslücken in KVM/QEMU gemeldet. Sie wurden als CVE-2016-3710 und CVE-2016-3712 veröffentlicht (siehe RH Bugzilla) und ermöglichen es Gastsystemen, unter Umständen aus einer virtuellen Maschine "auszubrechen" und Code mit den Rechten von QEMU auf dem Host auszuführen.
Ausgenutzt wird hierzu ein Fehler in der VGA-Emulation mit den VESA BIOS Extensions (VBE). Der Emulation steht eine bestimmte Menge an Speicher zu (z.B. 9 MB). Konkret wurde im Quelltext ein Fehler in Verbindung mit dem Lese-/Schreibzugriff gefunden. Dieser ermöglicht es im ungünstigen Fall, in geschützte Bereiche einzudringen (out-of-bounds memory access). Dies führt laut Bugreport entweder zum Absturz des Prozesses mit einem denial of service oder ermöglicht es, mit den Privilegien des QEMU-Prozesses Code auf dem Host-Rechner auszuführen. Bei virtuellen Maschinen ist dies meist ein GAU und gilt unbedingt zu vermeiden, da die Maschinen aus Sicherheitsgründen untereinander und vom Host getrennt werden.
Für die Sicherheitslücke stehen schon Patches bei vielen Distributionen bereit, z.B. bei Debian (1 und 2), XEN oder Ubuntu. Zusätzlich informiert Ubuntu, dass bei AppArmor Angriffe im libvirt-Profil isoliert bleiben.
Unter Debian kann z.B. mit dem Kommando
dpkg-query -s qemu-kvm | grep Version
überprüft werden, ob das installierte Paket noch in einer verwundbaren Version installiert ist.
KVM und QEMU eignen sich dazu, Betriebssysteme zu virtualisieren, sodass auf einem physischen Computer (Host) mehrere virtuelle Gäste laufen können.