Safari crasht Windows 7 door html-fout

Windows 7 loopt volledig vast als Apple's webbrowser Safari bepaalde html-code krijgt toegediend. Webwereld heeft de code getest en dit Blue Screen of Death bevestigd.

Het crashen door deze html-fout in Safari lijkt beperkt tot de 64-bit uitvoering van Microsofts huidige Windows-versie. De trigger voor deze BSOD (Blue Screen of Death) is op Twitter geopenbaard en daarna door ict'ers van Webwereld getest en bevestigd. Ontdekker webDEViL heeft de crash nog niet weten te benutten om eigen code uit te voeren, maar diverse hackers zijn al op dit gat gesprongen.

Het BSOD op een test-pc bij Webwereld:




Geheugencorruptie
De vastloper gebeurt namelijk wel door geheugencorruptie. Veel malware weet op computers binnen te komen door eerst een geheugenfout (buffer overflow) te veroorzaken. Daarmee wordt toegang verkregen tot een ander deel van het computergeheugen dan het deel van de gecrashte applicatie. In dat andere, 'veroverde' geheugensegment kan de kwaadaardige code zichzelf dan uitvoeren.

Het BSOD dat Webwereld heeft gereproduceerd met de malafide html-code voor Safari levert de foutmelding 'Page fault in nonpaged area' op. Dat duidt op geheugencorruptie en wel in het geheugendeel waar het besturingssysteem zelf draait. Na het vastlopen herstart Windows 7 zichzelf, waarna het de gebruiker een foutmelding voorschotelt.

De foutmelding na het crashen en rebooten van Windows 7:



iFrame-tag
De oorzaak zit in een zeer hoge waarde voor de hoogte van een zogeheten iFrame. Daarmee is een document in te bedden binnen een ander document. Nagenoeg alle moderne browser ondersteunen de html-tag iFrame. De 'crash-code' voor Safari die Windows 7 x64 laat vastlopen, heeft niet hetzelfde effect als het wordt gevoerd aan Internet Explorer of Chrome.

Via Safari zorgt de verkeerde iFrame-waarde voor meerdere aanroepen van een interne Windows-functie voor grafische weergave. Die 'overload' van NTgdiDrawStream haalt vervolgens Windows 7 x64 onderuit. De ontdekker spreekt in eerste instantie van "een niet zo interessante crash" omdat misbruik door hem niet direct mogelijk is. Andere security-onderzoekers vinden deze BSOD wel interessant.

Patchen?
Webwereld heeft Apple en Microsoft geïnformeerd over deze kwestie. Beide ict-leveranciers is om een reactie gevraagd. Microsoft reageert direct: "de error met Safari" is bij het bedrijf bekend, antwoordt Bas Paumen, group lead voor Windows. Hij vertelt dat nog wordt onderzocht wat precies de crash veroorzaakt.

"Software van een derde partij zou in principe niet het OS moeten kunnen laten crashen (anders dan hardware drivers en dergelijke). Dus is onderzoek van onze kant noodzakelijk en zullen we indien nodig aanpassingen aan onze kant doen, en samen werken met de ontwikkelaar om deze crashes te voorkomen." Paumen kan nog niets zegen over de timing voor een oplossing van dit probleem.