Google has been promoting WebGL, a royalty-free, cross-platform API that provides support for hardware graphics acceleration on the web, since the release of Chrome 9 in February. WebGL, the company says, is a way to experience high-quality 3D in the browser.
Google needs hardware acceleration to make Chrome competitive with Microsoft Internet Explorer 9, which includes hardware acceleration through its Windows DirectX graphics API.
WebGL is an open alternative to Microsoft's proprietary technology, but Microsoft argues that WebGL is open in the wrong sense: open to attack. Citing two reports critical of WebGL from Context Information Security, Microsoft on its Security Research & Defense blog said that Microsoft products supporting WebGL would have difficulty passing the company's Security Development Lifecycle requirements.
"We believe that WebGL will likely become an ongoing source of hard-to-fix vulnerabilities," said the MSRC Engineering team on Thursday. "In its current form, WebGL is not a technology Microsoft can endorse from a security perspective."
The Khronos Group, which published the WebGL 1.0 specification in March, defended its technology. In an email, a Khronos Group spokesperson said that all the browser vendors are working toward passing the WebGL conformance suite and that they're all still developing support for an extension that will solve the reported denial-of-service issues.
A bug in Firefox's WebGL implementation that allowed the theft of arbitrary windows on the desktop was addressed May 26 and will be resolved in the version of Firefox 5 slated for release June 21, the spokesperson said.
In May, the organization responded to one of Context's reports by noting that "WebGL was architected with security in mind from the ground up."
At the same time, the group appear to concede that at least one of Context's concerns--Cross Origin Resource Sharing--has the potential to be abused. The group said in May that it may require making Cross Origin Resource Sharing opt-in or may implement some mechanism to limit abuse.
A Google spokesperson deferred to the Khronos Group, as the actual maintainer of the standard, for comment, but acknowledged that Google runs parts of the WebGL in separate, sandboxed processes for improved security and "work[s] with hardware, OS, and driver vendors to proactively disable unsafe system configurations and help them improve the robustness of their stack."
A Google engineer on a WebGL mailing list noted that recent specification changes have been made to address security concerns. In a mailing list post, Google software engineer Kenneth Russell on Thursday said that Chrome is now blocking cross-origin textures in Chrome 13.
"As of Chrome 13, cross-origin textures are no longer supported in WebGL per recent spec updates," Russell wrote, noting that attempts to upload a cross-origin image, video or 2D canvas element to WebGL will generate a security error.
Apple's dismissal of WebGL was less emphatic than Microsoft's, but more surprising, given that Apple is officially a supporter of WebGL. On the same WebGL mailing list, Apple software engineer Chris Marrin on Tuesday wrote, "WebGL will not be publicly available in iOS 5. It will only be available to iAd developers."
Apple's disinterest in WebGL for iOS 5 may reflect a desire to move slowly with WebGL until the security issues are ironed out. Even so, conspiracy theorists could frame Apple's caution as a way to sustain the native iOS app market at a time when there's talk about web apps finally mounting a serious challenge to native apps.
In a few months, if not sooner, the major WebGL vulnerabilities will probably be addressed. But that's a few months more in which Microsoft IE 9 can enjoy bragging rights and a few months more that web apps have to live as second class citizens.
Black Hat USA 2011 presents a unique opportunity for members of the security industry to gather and discuss the latest in cutting-edge research. It happens July 30-Aug. 4 in Las Vegas. Find out more and register.