VENOM-Attacke auf Xen, KVM und QEMU

 Virtuelle Maschine (VMs) sind aus der heutigen Server-Landschaft nicht mehr wegzudenken. Webhoster verwenden sie beispielsweise, um ihren Kunden eigene Webserver anzubieten. Alle VMs laufen auf einem Host-System und werden von einem Hypervisor überwacht und gesteuert. Es gibt zahlreiche weiterverbreitete Hypervisor: Xen, KVM, VMWare, QEMU, Hyper-V, VirtualBox und so weiter. Für solche Systeme ist es wichtig sicherzustellen, dass ein Benutzer nicht aus seiner VM ausbrechen kann, da dies die Integrität des gesamten Systems und aller anderen VMs gefährden würde.

Eine nun entdeckte Sicherheitslücke in Xen, KVM und QEMU erlaubt nun aber genau dies: den Ausbruch eines Angreifers aus der VM. Ursache dieser Lücke ist ein Programmierfehler in dem Floppy-Disk-Controller dieser Hypervisor-Systeme. Diese Schwachstelle kann von Angreifern ausgenutzt werden, die Rootrechte innerhalb einer der VMs besitzen. Das Problem tritt bei den »FD_CMD_READ_ID«- und »FD_CMD_DRIVE_SPECIFICATION_COMMAND«-Befehlen des Controllers auf. Bei dem eigentlichen Problem handelt es sich um einen Buffer-Overflow-Fehler.

Diese VENOM (Virtualized Environment Neglected Operations Manipulation) genannte Schwachstelle wurde von Jason Geffner von CrowdStrike entdeckt und hier beschrieben. Der verantwortliche Programmierfehler befindet sich in QEMU beispielsweise in der »hw/block/fdc.c«-Datei. Dort wird die Pos-Variable als zeichenbehafteter Integer kodiert (int). Dieser sollte eigentlich als Uint32_t-Variable definiert werden, da es sonst zu einem Überlauf kommen kann. Hiervon sind die »fdctrl_read_data()«-, »fdctrl_handle_drive_specification_command()«- und »fdctrl_write_data()«-Funktionen betroffen. 

Das gesagte gilt für  die Xen-Versionen 4.2.x, 4.3.x, 4.4.x, 4.5.x und QEMU-Versionen 2.3.0 und älter.

Nach oben