Yesterday, February 24, Ming Chow gave a talk to the ABCD security group at Harvard on HTML5 security. As far as I can tell he hasn’t made any of the content publicly available online, but here are some high points:
- HTML5 has a lot of new features, giving it a bigger “attack surface.”
- There’s no effective security to local and session storage, so writing sensitive information there is a bad idea.
- The database feature raises all the standard concerns about injection of malicious SQL code into fields.
- Application caches can be written by any website. It may be possible to spoof pages this way.
- There is now a function, XDomainRequest, in JavaScript, which allows communication between different sites. The receiver of the request must specify Access-Control-Allow-Origin to indicate whose requests are allowed. Wild-carding this allows anyone at all to send data to a page, which may be dangerous. Implementers of a receiver should always verify the sender’s identity.
- With the audio, video, and canvas tags, the codecs can be vulnerable. Opera has been hit with a heap buffer overflow exploit in HTML5.
- The noscript tag is no longer supported. Users who try to make themselves safer by disabling Javascript are more screwed than ever.
- The problems are new, but the approach to safety is the same: common sense, input validation, being careful with unsecured connections, etc.
W3C has a new
The HTML5 logo again
In an earlier post, I questioned how W3C’s new HTML5 logo could help provide a “consistent, standardized visual vocabulary” when it stood for nothing in particular. Others have taken even stronger positions than mine, and W3C has backtracked. The HTML5 logo now stands for HTML5, not for HTML5, CSS3, H.264, and every other “cool” technology showing up on the web these days.
It’s still, as I noted, not a mark of conformance or certification, so its use on a website proves nothing, but at least now what it’s claiming to say is clearer.
Comments Off on The HTML5 logo again
Posted in commentary, News
Tagged HTML, W3C