De virtualisatieproducten van bijna alle grote leveranciers zijn kwetsbaar voor een aanval waarbij een virtuele machine (gast) meer rechten kan verkrijgen. Dit omvat ook de mogelijkheid 'door te breken' naar de onderliggende virtualisatiesoftware (host) om code te kunnen draaien op kernelniveau (op ring0 in de virtualisatie-stack). Deze zogeheten local privilege escalation raakt ook hostingbedrijven die virtuele servers aanbieden.

AMD niet kwetsbaar

De fout is alleen aanwezig op x64-processors van Intel. De chipmaker laat nu aan Webwereld weten dat het niet een gat in de hardware betreft, maar verkeerd gebruik van ingebakken instructies voor virtualisatie. “Dit is gedocumenteerd gedrag", vertelt technisch expert Matty Bakkeren van Intel Benelux. Bakkeren legt uit dat niet alle virtualisatiesoftware vatbaar is voor deze kwetsbaarheid.

Bij de waarschuwing van CERT voor dit vergaande virtualisatiegat is gelijk ook gesteld dat virtualisatiesoftware van VMware niet kwetsbaar is. Daarnaast zijn computers met AMD-processors niet geraakt door dit gat, wat kaping van onderliggende hosts mogelijk maakt. Overigens kan een soortgelijke aanval op virtualisatiesoftware draaiend op oudere AMD-processors wel tot vastlopers leiden, meldt Webwerelds Amerikaanse zustersite InfoWorld.com.

Patches installeren

Draaiend op Intels semi-64-bit chips is virtualisatiekaping wel van toepassing op een brede reeks software van vele, grote leveranciers en ontwikkelteams. Dit zijn: Microsoft, Citrix (XenServer), Oracle, Red Hat, Suse naast de besturingssystemen FreeBSD en NetBSD plus de open source-virtualisatiesoftware Xen en het cloud-OS van Joyent.

De leveranciers en ontwikkelaars van getroffen software zijn op 1 mei op de hoogte gesteld van dit beveiligingsgat. Veel van hen hebben al patches aangekondigd en uitgegeven. Microsoft heeft dit gedaan in de patchronde van begin deze maand. De Windows-maker geeft dit gat niet de hoogste indeling 'kritiek' mee, omdat misbruik op afstand niet tot de mogelijkheden behoort.

Semi-64-bit

De eigenlijke kwetsbaarheid komt voort uit specifiek softwaremisbruik van instructies voor Intels semi-64-bit processors. De 64-bit extensies voor 32-bit x86-processors zijn van origine ontwikkeld door AMD. Intel gaf toen de voorkeur aan zijn eigen Itanium-processor, die volledig 64-bit is. Uiteindelijk is de processorreus door marktdruk overstag gegaan en heeft het zelf ook semi-64-bit (x64) omarmd. Vervolgens hebben AMD en Intel elk nog instructies specifiek voor virtualisatie ingebouwd in hun processors.

Die virtualisatie-support ín de x64-chips maakt het onder meer mogelijk geheugen efficiënter - en zelfs met 'ontdubbeling' van gelijke delen - te gebruiken. De implementatie van Intel en AMD verschilt hierbij op enkele punten. De nu geopenbaarde virtualisatiekaping is mogelijk dankzij een andere foutenafhandeling in Intels implementatie van de sysret-instructie, leggen de ontwikkelaars van Xen uit in een technische blogpost.

'Geen cpu-revisie nodig'

Intel spreekt tegenover Webwereld tegen dat het hier om een fout in zijn processors gaat. In de documentatie van de virtualisatie-extensies staat deze van AMD afwijkende implementatie namelijk beschreven. Misschien dat sommige softwareleveranciers er vanuit zijn gegaan dat de implementatie hetzelfde was, speculeert Bakkeren van Intel.

Hij vertelt dat er geen sprake is van een noodzakelijke hardware-revisie: een nieuwe uitvoering van de betreffende x64-processors waarin deze kwetsbaarheid dan wordt gedicht of afgedekt. Intel heeft zo'n vergaande maatregel, inclusief terugroepen van een oudere revisie, in het verleden wel eens gedaan om acute problemen te voorkomen.

Update:

Intel verwijst naar de bewuste developerdocumentatie waarin de te misbruiken virtualisatie-instructie wordt genoemd. Dit is de x64 software development manual volume 2b, met op pagina 4-598 en 4-599 (respectievelijk 600 en 601 van het ingebedde document) de omschrijving van de sysret-instructie en de uitzonderingen daarop.