Het lek zit in de Virtual DOS Machine, die zijn intrede deed in Windows NT 3.1 dat in 1993 uitkwam. VDM werd toen toegevoegd om 16-bit applicaties te ondersteunen. Het lek dat daarmee ontstond, zit nog steeds in alle 32-bit versies van Windows, tot en met Windows 7.

Dat schrijft Tavis Ormandy in zijn presentatie van het lek. Hij heeft eerder een ander breed Windows-gat ontdekt en 8 jaar oud lek in de Linux-kernel.

Sinds juni al bekend

Hij heeft het nieuwe Windows-lek openbaar gemaakt, omdat Microsoft nog steeds niet met een patch is gekomen terwijl het bedrijf al op 12 juni 2009 op de hoogte is gebracht van de problemen. Omdat er een makkelijke en effectieve workaround beschikbaar is, heeft hij besloten dat gebruikers op de hoogte moeten worden gesteld. Daarom heeft hij informatie over het lek gepubliceerd zonder dat er al een patch voor is uitgebracht.

Die workarounds geeft hij ook in zijn bekendmaking. Het tijdelijk uitschakelen van de MSDOS- en WOWEXEC-subsystemen volstaat. Ook kan met policies worden voorkomen dat iemand 16-bit applicaties uitvoert. Dat laatste is een ondersteunde praktijk in Windows. Er zijn zelfs een aantal video's die laten zien hoe je dit aanpakt.

Al 17 jaar

Het is zeker aan te raden om actie te ondernemen, omdat een aanvaller bij een succesvolle operatie eigen code kan injecteren in de kernel, waardoor hij toegang krijgt tot gevoelige delen van het besturingssysteem. Exploits werken in ieder geval op Windows XP, Windows Server 2003 en 2008, Windows Vista en Windows 7. Het onderzoeken van andere versies laat Ormandy over aan “de geïnteresseerde lezer”. Het bedrijf Immunity heeft de exploit al toegevoegd aan zijn product Canvas.

Zero-day weken

Microsoft onderzoekt de beweringen van Ormandy, maar zegt dat er nog geen gebruik wordt gemaakt van het lek. Dat Microsoft al zo lang op de hoogte is, maar nog geen actie heeft ondernomen, onderschrijft de bevindingen van security-onderzoeker Evgeny Legerov. Die stelt dat samenwerken met softwareproducenten niets oplevert. Hij publiceert deze weken vrijwel elke dag een zero-day lek.