Ein russischer Hacker hat eine Zero-Day Guest-to-Host-Lücke für Virtualbox veröffentlicht. Er sei frustriert darüber, wie der Hersteller mit Bug Bountys und Security-Forschung umgehe.
Die Lücke betrifft sämtliche OS-Hostsysteme und Virtualbox-Gäste. Sie steckt in den Transmit-Deskriptoren für die voreingestellte Netzwerkkarte Intel PRO/1000 MT Desktop (82540EM), kurz E1000, in Kombination mit dem dazugehörigen NAT-Modus. Um die Lücke auszunutzen, muss der User im Gast OS ein manipuliertes Kernelmodul für die virtuelle Netzwerkkarte laden. Das Problem lässt sich zum Glück recht einfach verhindern: Ein Workaround bestehe laut Sergej Zeleniuk darin, die virtuelle Netzwerkkarte zu wechseln oder den NAT-Modus zu vermeiden.
Der Hintergrund
Die Paketgröße für die Daten-Deskriptoren muss kleiner sein als die maximale Paketgröße der so genannten Kontext-Deskriptoren. Letztere kommen in der Regel zuerst bei der Netzwerkkarte an. Damit die Netzwerkkarte die Deskriptoren erhält, schreibt das Gastsystem sie in den so genannten TX-Ring, einem Ring-Puffer mit festgelegter Adresse im Arbeitsspeicher. Sind dort alle Deskriptoren versammelt, aktualisiert das Gastsystem das TDT-Register der Netzwerkkarte (Transmit Descriptor Tail) und teilt dem Host mit, sich um die neuen Deskriptoren zu kümmern.
Hier liegt dann der Knackpunkt, den die Github-Seite in ihren Details beschreibt. Grob vereinfacht: Über eine bestimmte Kombination aus Daten- und Kontext-Deskriptoren mit voreingestellten Datenlängen lässt sich über den Code in der Datei “src/VBox/Devices/Network/DevE1000.cpp” ein Integer Underflow auslösen. Der erlaubt es, bestimmte Grenzen für Puffergrößen zu überschreiten. Das wiederum lässt sich dann in Buffer Overflows für Heap und Stack ausnutzen.
Unzufrieden
Er möge Virtualbox, schreibt der Hacker aus Sankt Petersburg in seiner Ankündigung zur Zero-Day-Lücke. Ihn störe der “gegenwärtige Status von Infosec”. Zeleniuk nennt die Verantwortlichen nicht explizit, dürfte aber Oracle meinen, das Unternehmen, dem Virtualbox gehört. Offenbar finde man es dort in Ordnung, sich ein halbes Jahr Zeit für das Patchen von Sicherheitslücken zu nehmen, kritisiert Zeleniuk.
Auch den Umgang mit Bug Bounties beschreibt er als intransparent und wechselhaft. An einem Tag interessiere sich der Hersteller für Lücken in seiner Software. Finden Hacker solche, sei er plötzlich nicht mehr interessiert. Zudem dauere es zu lange, bis der Software-Hersteller eine Lücke verifiziere und entscheide, ob er die Informationen darüber kaufen wolle oder nicht. Nicht zuletzt lasse er Sicherheitsforscher darüber im Unklaren, welche Lücken welche Preise erzielen.
Seine “Full Disclosure” betrachtet er als eine Reaktion auf den schlechten Zustand der Infosec. Es ist nicht das erste Mal, dass Zeleniuk eine Lücke in Virtualbox findet. Eine weitere Guest-to-Host-Lücke entdeckte der Hacker in diesem Jahr im VRDP-Server von Virtualbox.






