Deze bug in Silverlight 5 is ontdekt door Mozilla-ontwikkelaar Benoit Jacob, die het ook heeft aangemeld bij Microsoft. "Normaal gesproken zou ik geen Silverlight-bugmelding hierover indienen, aangezien het niet echt specifiek is voor Silverlight (of voor WebGL, of welke 3D api dan ook)", schrijft Jacob.

'WebGL onveilig'

De reden om dat toch te doen, is Microsofts eigen waarschuwing dat de open standaard WebGL pc's kwetsbaar maakt voor DoS-aanvallen (denial of service). Het securityteam van de Windows-fabrikant stelt dat WebGL onveilig is en vermeden moet worden. De argumentatie voor die waarschuwing is dat websites en webapps via WebGL directe toegang hebben tot de grafische hardware van een pc. Dit kan via crashes leiden tot succesvolle DoS-aanvallen.

Daarnaast grijpt Microsoft de constatering aan van security-bedrijf Context IS dat het via WebGL mogelijk is om letterlijk mee te kijken op het scherm van een gebruiker. Het gaat daarbij echter niet om een gat in WebGL, maar alleen in de implementatie van Mozilla's Firefox. Dat gat is inmiddels gedicht in Firefox 5.

BSOD op IE9 en Firefox

Ook het door Microsoft aangewezen DoS-gevaar is niet specifiek voor WebGL, aldus Jacob. "Dezelfde kwetsbaarheid is aanwezig in Silverlight 5", meldt hij aan Microsoft. De Mozilla-ontwikkelaar heeft direct werkende code gemaakt die de fout in de Silverlight 5-bèta gebruikt om een pc te laten vastlopen.

Zijn exploit werkt op Internet Explorer 9 en op Firefox. Via Silverlight wordt de grafische driver gecrasht, wat voor de hele Windows-pc een BSOD (blue screen of death) oplevert. "Hier is een proof of concept. Waarschuwing, dit crasht je systeem."

'Gefixt vóór release'

Daarnaast heeft Jacob de broncode voor zijn exploit én de met Visual Studio gecompileerde code openlijk ter beschikking gesteld. Microsoft heeft bij de bugmelding al gereageerd met de mededeling dat Silverlight 5 nog in bèta is en dat er nog security-versterkende maatregelen worden getroffen.

"Ter verduidelijking: DoS-mitigations zijn geïmplementeerd in huidige interne builds en die gaan mee in de RTM [release to manufacturing, de definitieve release dus - red.] van Silverlight 5." De fout wordt dus opgelost voordat de nieuwe Silverlight-versie uitkomt.

Samenwerken met gpu-makers

Jacob vraagt daarbij nog wel wat voor beperkende maatregelen dat dan zijn. "Voor zover ik het kan zien, houdt welke fix dan ook een samenwerking in met de gpu-fabrikanten om hun 3D api's beter bestand te maken tegen DoS."

"De WebGL-werkgroep doet dat al. Als Microsoft dit ook doet, zou het fijn zijn om samen te werken op dit gebied." De Mozilla-ontwikkelaar heeft bij de release van Firefox 4, met ingebouwde WebGL-ondersteuning, al gewaarschuwd dat gebruikers hun grafische drivers moeten updaten.

Security-uitdaging

Overigens heeft 'principal architect' Avi Bar-Zeev van Microsoft de securitywaarschuwing van zijn werkgever gesust. Hij stelt dat er geen officiëel beleid of interne memo tégen WebGL is en dat die grafische technologie de toekomst heeft. Microsoft moet volgens Bar-Zeev dus niet terugschrikken voor een security-uitdaging, waar het immers al veel ervaring mee heeft.