Google Implements WebGL Security FixWeb developers wishing to make use of cross-domain media elements with WebGL should look to a new mechanism called CORS.
Google this week said that a security enhancement in the WebGL specification has limited the use of cross-domain image or video elements as WebGL textures in Chrome 13, and encouraged developers to utilize a specification known as CORS.
The explanatory post to the Chromium blog confirms what Google software engineer Kenneth Russell said about Chrome 13 in a mailing list message last month.
Chrome 13 is currently available to those subscribed to Google's beta channel; Chrome 12 is the stable release.
Microsoft last month took the unusual step of publicly condemning WebGL, an open alternative to its Windows DirectX graphics API, because of what it saw as potential security problems. "In its current form, WebGL is not a technology Microsoft can endorse from a security perspective," the company said, in a blog post titled "WebGL Considered Harmful."
The WebGL specification has since been revised to disallow the use of cross-domain media.
WebGL provides hardware-accelerated 3-D graphics in the browser without a plug-in. It is a critical component to browser makers aiming to support entertainment and graphics applications that compete with the sophisticated graphics capabilities of desktop apps. Google currently hosts an online showcase to illustrate the potential of the technology.
A spokesperson from The Khronos Group, which published the WebGL 1.0 specification in March, said last month that browser vendors are still working to make their WebGL implementations conform with the specification.
The group's spokesperson also addressed Microsoft's concern about denial-of-service attacks that could arise from shaders and geometry designed to crash graphics hardware.
"Browser vendors are still in the process of supporting the GL_ARB_robustness extension, so it is expected that the previously reported denial-of-service issues are still present," Khronos' spokesperson said. "It is expected that the reported denial-of-service issues will be solved with the integration of this extension."
Even as the WebGL security issues get ironed out, the changes in Chrome 13 have not completely eliminated the possibility of utilizing cross-domain media elements. Assuming the hosting image server allows it, a Web developer can employ a specification known as CORS (Cross-Origin Resource Sharing) to present images and videos that come from other domains.
"Unfortunately, this new restriction in WebGL means that some existing content will break," explained Google developer advocate Eric Bidelman in a blog post. "We've already started working with external image and video hosting services like Flickr to evangelize the use of CORS on their images."
Picasa, Google's online image service, already supports CORS.
In the new, all-digital Dark Reading supplement: What industry can teach government about IT innovation and efficiency. Also in this issue: Federal agencies have to shift from annual IT security assessments to continuous monitoring of their risks. Download it now. (Free registration required.)