The US Computer Emergency Readiness Team is advising users of the Mozilla Firefox and Google Chrome browsers to disable a recently added graphics engine that can be exploited to steal data or crash end user computers.
The web standard known as WebGL opens the browsers to serious attacks, including the theft of images or denial-of-service attacks, independent research consultancy Context Information Security recently warned. The technology made its debut in version 9 of Chrome and was added to the recently released Firefox 4. WebGL is also present in builds of Opera and Apple's Safari.
“Based on this limited research Context does not believe WebGL is really ready for mass usage,” Context researcher James Forshaw wrote. “Therefore Context recommends that users and corporate IT managers consider disabling WebGL in their browsers.
The technology is designed to render web-based 3D graphics by allowing the browser to have greater access to a computer's graphics hardware. Until now, the security of graphics gear hasn't been much of a concern, but the wide availability of WebGL should change that. Malicious web masters could exploit inherent weaknesses in the standard to cause computers to display the infamous blue screen of death or steal potentially sensitive data.
A Google spokesman didn't address the claims in the Context report head on, but did offer the following:
Many parts of the WebGL stack, including the GPU process, run in separate processes and are sandboxed in Chrome to help prevent various kinds of attacks. To help ward off lower level attacks, we work with hardware, OS, and driver vendors to proactively disable unsafe system configurations and help them improve the robustness of their stack.
I'd also point out that Chrome doesn't run on some system configurations if lower level stack issues are identified. This is a key intermediate step to help protect Chrome users.
The spokesman didn't say if these measures are enough to prevent the Webgl vulnerabilities described by Context from being exploited in Chrome.
A spokesman for the Khronos Group, which maintains the WebGL standard, similarly didn't address the Context report directly in an email to The Register. Instead, he referred to an official statement that said the graphics engine comes with an extension "specifically designed to prevent denial of service and out-of-range memory access attacks from WebGL content."
The extension, known as GL_ARB_robustness, "has already been deployed by some GPU vendors and Khronos expects it to be deployed rapidly by others," the statement continued. "Browsers can check for the presence of this extension before enabling WebGL content. This is likely to become the deployment mode for WebGL in the near future."
The statement didn't name the GPU manufacturers or say what percentage of shipping GPUs make use of the measure.
On Tuesday, members of the US-CERT echoed the advice that WebGL be disabled. So far, neither Context nor CERT has given instructions for turning off the standard in various browsers.
In Firefox 4, type “about:config” (minus the quotes) into the address bar and set webgl.disabled to true. In Chrome, get to the command line of your operating system and add the --disable-webgl flag to the Chrome command. On a Windows machine, the command line would be "chrome.exe --disable-webgl". ®
This article was updated to include comment from The Khronos Group. It was later updated to correct the types of attacks Context said WebGL is susceptible to. The report doesn't include the possibility of code-execution attacks, as incorrectly reported earlier.