<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: HTML5 Security in a Nutshell</title>
	<atom:link href="http://www.veracode.com/blog/2010/05/html5-security-in-a-nutshell/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.veracode.com/blog/2010/05/html5-security-in-a-nutshell/</link>
	<description>Application security testing, analysis, and metrics</description>
	<lastBuildDate>Thu, 09 Feb 2012 11:59:00 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<item>
		<title>By: HTML 5 security issues pose challenges for enterprises, experts say &#124; Security Digest</title>
		<link>http://www.veracode.com/blog/2010/05/html5-security-in-a-nutshell/comment-page-1/#comment-10845</link>
		<dc:creator>HTML 5 security issues pose challenges for enterprises, experts say &#124; Security Digest</dc:creator>
		<pubDate>Wed, 30 Nov 2011 21:21:15 +0000</pubDate>
		<guid isPermaLink="false">http://www.veracode.com/blog/?p=1229#comment-10845</guid>
		<description>[...] an HTML 5 best practices document and website for application developers. In a blog entry, “HTML 5 security in a nutshell,”  Chris Eng, vice president of research at Burlington, Mass.-based application security testing [...]</description>
		<content:encoded><![CDATA[<p>[...] an HTML 5 best practices document and website for application developers. In a blog entry, “HTML 5 security in a nutshell,”  Chris Eng, vice president of research at Burlington, Mass.-based application security testing [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Bob Novell</title>
		<link>http://www.veracode.com/blog/2010/05/html5-security-in-a-nutshell/comment-page-1/#comment-8406</link>
		<dc:creator>Bob Novell</dc:creator>
		<pubDate>Sat, 18 Jun 2011 19:28:11 +0000</pubDate>
		<guid isPermaLink="false">http://www.veracode.com/blog/?p=1229#comment-8406</guid>
		<description>Sandboxed frames are one of the biggest security problems I&#039;ve seen in a long time.

Look at all the work that people invest in trying to prevent their pages being &quot;framed&quot; and to break out of those frames.

Along comes a feature which will allow anyone to frame any page on the web - regardless of the wishes of the owner of the page.

Oh, you say X-Frame response headers will prevent this?

Well, not really.

Currently IE8 displays a message saying that the material cannot be displayed and FF simply displays about:blank but there is no way to break out of the frame and go to the actual page on your web site - using the X-Frame header alone.

I am implementing frame busters on all of my sites and testing the different methods.

One thing that burns me is Google&#039;s image search. Hey, could they make it any easier to steal images? I don&#039;t see how!

Click on a thumbnail on a search results page and you get the page on which the image exists in a frame underneath a copy of the image on top of the frame where you simply right click and &quot;save image as&quot; to add the image to your collection of stolen images.

If someone wants to see my images, which, by the way, are copyrighted, they can go to my page.

If I use a frame breaker, they wind up on my page, coming from a Google image search (or anyone&#039;s image search which frames my pages).

But, and it is a BIG BUT, if I use X-Frame response header to deny the framing of the page, the nice box containing my image still is displayed, the  only difference is that the framed page is not displayed underneath it. That doesn&#039;t accomplish what I want to do - I want to break out of the frame and display the my page without anyone&#039;s frames.

Sandboxed frames were designed by clickjackers - right?

I can&#039;t see how any sane person would conceive of such an idea and then actually contemplate implementing it.

It&#039;s not enough that there are ways to void most (if not all) frame breaking methods, now we give the crooks another way -- sandboxed frames.

Wow! The inmates are most definitely running the asylum.

Bob Novell</description>
		<content:encoded><![CDATA[<p>Sandboxed frames are one of the biggest security problems I&#8217;ve seen in a long time.</p>
<p>Look at all the work that people invest in trying to prevent their pages being &#8220;framed&#8221; and to break out of those frames.</p>
<p>Along comes a feature which will allow anyone to frame any page on the web &#8211; regardless of the wishes of the owner of the page.</p>
<p>Oh, you say X-Frame response headers will prevent this?</p>
<p>Well, not really.</p>
<p>Currently IE8 displays a message saying that the material cannot be displayed and FF simply displays about:blank but there is no way to break out of the frame and go to the actual page on your web site &#8211; using the X-Frame header alone.</p>
<p>I am implementing frame busters on all of my sites and testing the different methods.</p>
<p>One thing that burns me is Google&#8217;s image search. Hey, could they make it any easier to steal images? I don&#8217;t see how!</p>
<p>Click on a thumbnail on a search results page and you get the page on which the image exists in a frame underneath a copy of the image on top of the frame where you simply right click and &#8220;save image as&#8221; to add the image to your collection of stolen images.</p>
<p>If someone wants to see my images, which, by the way, are copyrighted, they can go to my page.</p>
<p>If I use a frame breaker, they wind up on my page, coming from a Google image search (or anyone&#8217;s image search which frames my pages).</p>
<p>But, and it is a BIG BUT, if I use X-Frame response header to deny the framing of the page, the nice box containing my image still is displayed, the  only difference is that the framed page is not displayed underneath it. That doesn&#8217;t accomplish what I want to do &#8211; I want to break out of the frame and display the my page without anyone&#8217;s frames.</p>
<p>Sandboxed frames were designed by clickjackers &#8211; right?</p>
<p>I can&#8217;t see how any sane person would conceive of such an idea and then actually contemplate implementing it.</p>
<p>It&#8217;s not enough that there are ways to void most (if not all) frame breaking methods, now we give the crooks another way &#8212; sandboxed frames.</p>
<p>Wow! The inmates are most definitely running the asylum.</p>
<p>Bob Novell</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Tom</title>
		<link>http://www.veracode.com/blog/2010/05/html5-security-in-a-nutshell/comment-page-1/#comment-6745</link>
		<dc:creator>Tom</dc:creator>
		<pubDate>Mon, 18 Apr 2011 05:03:49 +0000</pubDate>
		<guid isPermaLink="false">http://www.veracode.com/blog/?p=1229#comment-6745</guid>
		<description>We really need to establish a formal set of standards before we can really progress in web development.</description>
		<content:encoded><![CDATA[<p>We really need to establish a formal set of standards before we can really progress in web development.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Security a Concern as HTML5 Gains Traction</title>
		<link>http://www.veracode.com/blog/2010/05/html5-security-in-a-nutshell/comment-page-1/#comment-5609</link>
		<dc:creator>Security a Concern as HTML5 Gains Traction</dc:creator>
		<pubDate>Mon, 20 Sep 2010 03:34:25 +0000</pubDate>
		<guid isPermaLink="false">http://www.veracode.com/blog/?p=1229#comment-5609</guid>
		<description>[...] has been around for a long time with technologies like Flash. However, engineers at Veracode in May raised warnings about an implementation issue with the sessionStorage feature that could make it vulnerable to manipulation from untrusted Web sites.   The new [...]</description>
		<content:encoded><![CDATA[<p>[...] has been around for a long time with technologies like Flash. However, engineers at Veracode in May raised warnings about an implementation issue with the sessionStorage feature that could make it vulnerable to manipulation from untrusted Web sites.   The new [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: lavakumar</title>
		<link>http://www.veracode.com/blog/2010/05/html5-security-in-a-nutshell/comment-page-1/#comment-4066</link>
		<dc:creator>lavakumar</dc:creator>
		<pubDate>Sun, 20 Jun 2010 21:00:31 +0000</pubDate>
		<guid isPermaLink="false">http://www.veracode.com/blog/?p=1229#comment-4066</guid>
		<description>@Chris
This is probably the very first article specifically on HTML5 security, great effort.

I have put up a couple of articles on the HTML5 Security project on Google code covering Cross Origin Request security and Web SQL Database security.(URLs below)
http://code.google.com/p/html5security/wiki/WebSQLDatabaseSecurity &amp; 
http://code.google.com/p/html5security/wiki/CrossOriginRequestSecurity

If you feel there is something missing based on your research then please do drop in a comment.

@Marc
I have put up an HTML5 Quick Reference Guide along with live demos at http://www.andlabs.org/html5.html</description>
		<content:encoded><![CDATA[<p>@Chris<br />
This is probably the very first article specifically on HTML5 security, great effort.</p>
<p>I have put up a couple of articles on the HTML5 Security project on Google code covering Cross Origin Request security and Web SQL Database security.(URLs below)<br />
<a href="http://code.google.com/p/html5security/wiki/WebSQLDatabaseSecurity" rel="nofollow">http://code.google.com/p/html5security/wiki/WebSQLDatabaseSecurity</a> &amp;<br />
<a href="http://code.google.com/p/html5security/wiki/CrossOriginRequestSecurity" rel="nofollow">http://code.google.com/p/html5security/wiki/CrossOriginRequestSecurity</a></p>
<p>If you feel there is something missing based on your research then please do drop in a comment.</p>
<p>@Marc<br />
I have put up an HTML5 Quick Reference Guide along with live demos at <a href="http://www.andlabs.org/html5.html" rel="nofollow">http://www.andlabs.org/html5.html</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: More on HTML 5 Security &#171; New World D0mber</title>
		<link>http://www.veracode.com/blog/2010/05/html5-security-in-a-nutshell/comment-page-1/#comment-3485</link>
		<dc:creator>More on HTML 5 Security &#171; New World D0mber</dc:creator>
		<pubDate>Wed, 19 May 2010 20:13:20 +0000</pubDate>
		<guid isPermaLink="false">http://www.veracode.com/blog/?p=1229#comment-3485</guid>
		<description>[...] http://www.veracode.com/blog/2010/05/html5-security-in-a-nutshell/ [...]</description>
		<content:encoded><![CDATA[<p>[...] <a href="http://www.veracode.com/blog/2010/05/html5-security-in-a-nutshell/" rel="nofollow">http://www.veracode.com/blog/2010/05/html5-security-in-a-nutshell/</a> [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Isaac Dawson</title>
		<link>http://www.veracode.com/blog/2010/05/html5-security-in-a-nutshell/comment-page-1/#comment-3484</link>
		<dc:creator>Isaac Dawson</dc:creator>
		<pubDate>Wed, 19 May 2010 19:43:29 +0000</pubDate>
		<guid isPermaLink="false">http://www.veracode.com/blog/?p=1229#comment-3484</guid>
		<description>@mario
Some pretty good stuff on the html5security.googlecode.com site. In regards to his review of our article, let me quickly state that this was a very informal &#039;what do you feel some of the risks pose for the new html/web technologies?&#039; and we figured some good information came out of it so we decided to share it. There are obviously people investing a lot of time into researching specific attacks and defenses. Anyways there are a few things I would like to point out from his review:
&gt;•	Cite: Don’t Forget Origin Checks on Cross-Document Messaging
&gt;o	Those checks are implicit - as a developer you have to do it wrong on 
&gt; purpose. You really have to want it. Especially when handling the message
&gt; - why not mentioning native JSON here as an awesome alternative to eval() 
&gt; or __defineSetter__() and friends? And... code please! Don&#039;t tell to not mess 
&gt; up - show how to mess up and how not to!

Having to check the origin of a message is not implicit. In this case not checking the event’s origin property will allow any message through to the receiver. Mozilla sums it up nicely in their post from https://developer.mozilla.org/en/DOM/window.postMessage. 
“If you do expect to receive messages from other sites, always verify the sender&#039;s identity using the origin and possibly source properties. Any window (including, for example, http://evil.example.com) can send a message to any other window, and you have no guarantees that an unknown sender will not send malicious messages. Having verified identity, however, you still should always verify the syntax of the received message. Otherwise, a security hole in the site you trusted to send only trusted messages could then open a cross-site scripting hole in your site.”
 

&gt;•	Cite: New Tags Increase Attack Surface
&gt;o	No they don&#039;t. Testing with enumeration and fuzzing showed that not the
&gt;tags are the problem - but the attributes. And what browsers do with it. 
&gt; and  don&#039;t cause too much harm from a web security perspective -
&gt;there&#039;s nothing they do  hasn&#039;t done before and that much worse. Not 
&gt; to even mention . Think about the attributes - &quot;autofocus&quot;, &quot;poster&quot;,
&gt; &quot;formaction&quot;, and all the stuff that has been there before - the tags were never
&gt; the real problem.

Probably a poor title heading choice on our part, but we figured it would be assumed that we were primarily touching on the new formats that are being brought in for the new video / audio tags. Not the tags themselves. Also Brandon spoke on this subject already in the comments.


&gt;•	Cite: Developers Should Be Wary of Cross-Origin JavaScript Requests
&gt;o	Yes - and? It&#039;s easy to make cross domain requests - use images, style 
&gt;sheets, scripted forms whatever. What&#039;s hard is reading the response - and 
&gt;that&#039;s what&#039;s relevant for most attack patterns in this direction either. Don&#039;t 
&gt;blame XDR for what HTTP did wrong. 

We pretty much agree and we thought we made that some what clear in our post . That doesn&#039;t mean there are not concerns, especially when some developers will almost certainly be opening up all access to their servers whether or not they understand the ramifications of doing so.

&gt;•	Cite: Sandbox Attribute Could Make Security Easier
&gt;o	Nope - it doesn&#039;t. We have the SOP for this and it (usually) works for cross
&gt;domain restrictions. One problem the &quot;sandbox&quot; attribute can actually solve if 
&gt;implemented correctly are frame busters via &quot;allow-scripting&quot;. Since no user 
&gt;agent has actually implemented the sandbox so far it&#039;s still a lot of hypothesis 
&gt;powder involved in saying it makes security easier. What will the &quot;webmaster&quot; &gt;do with sand-boxed tags and let&#039;s say his precious money making ad 
&gt;banners and skyscrapers? No JavaScript for them? Or better some flash? Or no 
&gt;at all? Sand-boxed frames raise a lot of new questions instead of 
&gt;solving them. Again you managed to invert HTML5 goodies to be problematic 
&gt;and vice versa. And what about &quot;seamless&quot; iframes?

As we stated the sandbox is a moving target and we are not entirely sure how much it will help. It really depends on how it will be implemented. We feel that in certain circumstances, this type of sandboxing can be a benefit to sites that wish to include some third party content into their site without putting their users at risk in the event that the content is malicious. Also, It should be noted that the sandbox attribute has already been implemented in Chrome Dev channels and Chromium and is currently in WebKit trunk.

&gt;•	Cite: Always Remember Input Validation
&gt;o	Ah - right! Input validation. I totally forgot in my new project... no 
&gt;comments on that educational gem. So - what makes input validation in the 
&gt;HTML5 era special? What should we be taking care of? What are critical things &gt;to keep in kind? Input validation to prevent client side SQL injection maybe? New
&gt; attributes that need to be black-listed? Or less attributes to be white-listed?

I think most people understand input validation is a fickle... beast. It really depends on what you are trying to protect against and you can not apply a one size fits all solution to input.

Later on the author goes on to state some things we should have added. 

&gt;“Attributes, undoManager, inline SVG, , the &quot;autofocus&quot; related 
&gt;security implications. What about  &quot;srcdoc&quot;? What about focus stealing 
&gt;attacks? What abouttoStaticHtml()? What about DoS via client side regex 
&gt;validation? Where&#039;s actual advice on how to do it better? And not to forget about 
&gt;the things HTML5 actually fixes - like the weird SHORTTAG syntax - compare 
&gt;Firefox 3.6+ in HTML4 and HTML5 mode with this example &lt;p&lt;a&gt;href=&quot;javascript:alert(1)&quot;&gt;ab...”

Which is awesome, some of these I had not been aware of. Here is my quick assessment of them.

UndoManager – This object is bound to the window so SOP would apply. The usual XSS risks exist here. If you have XSS you can read the entire DOM anyways, so besides reading typos not sure what the additional risk is.


Inline SVG – This some what falls under the new data format support, increasing the attack surface. Somewhat unrelated but I found a bug in chromium’s SVG implementation (http://code.google.com/p/chromium/issues/detail?id=21338) a while back.

 – Good point (http://code.google.com/p/doctype/wiki/MetaCharsetAttribute) forcing the character set of a document as to not cause browsers to ‘sniff the charset’ is definitely something developers should be aware of. However, this is no real different than  which, if not supplied in html 4 documents could lead to the same issues. 

Autofocus – Also a good point, chrome will even autofocus into an iframe (overriding the primary documents autofocus’d element) which could be problematic and could potentially be (ab)used in DOM redressing style attacks. Not to mention the fact that just having the &#039;autofocus&#039; attribute and an onfocus event inside a tag leads to instant execution of script. 

 srcdoc’s attribute – srcdoc allows for developers  to include 3rd party content into an attribute. This can be protected by the sandbox attribute but will definitely have it’s own interesting security challenges. Doing proper validation, specifically encoding quotes to protect against attribute break out, will be key in order to maintaining control over the data included in the srcdoc attribute.

Focus stealing attacks - somewhat summed up in the autofocus attribute but same sort of risks with DOM redressing.


toStaticHtml – This is only implemented in IE8 and as far as I know nothing in HTML 5 really compares to it unlike IE’s XDR which is a similar implementation of CORS.

DoS via client side regex validation – I am assuming this is in response to input fields allowing regular expressions in the “pattern” attribute (http://www.whatwg.org/specs/web-apps/current-work/#the-pattern-attribute). It is assumed here that the browsers built in EMCAScript engine will be parsing these regex’s. Invalid regex&#039;s could put a user at risk if one can inject values into a victims form. 

SHORTTAG - totally, agree it will help significantly, once of course, the backwards compatibility is removed!!!</description>
		<content:encoded><![CDATA[<p>@mario<br />
Some pretty good stuff on the html5security.googlecode.com site. In regards to his review of our article, let me quickly state that this was a very informal &#8216;what do you feel some of the risks pose for the new html/web technologies?&#8217; and we figured some good information came out of it so we decided to share it. There are obviously people investing a lot of time into researching specific attacks and defenses. Anyways there are a few things I would like to point out from his review:<br />
&gt;•	Cite: Don’t Forget Origin Checks on Cross-Document Messaging<br />
&gt;o	Those checks are implicit &#8211; as a developer you have to do it wrong on<br />
&gt; purpose. You really have to want it. Especially when handling the message<br />
&gt; &#8211; why not mentioning native JSON here as an awesome alternative to eval()<br />
&gt; or __defineSetter__() and friends? And&#8230; code please! Don&#8217;t tell to not mess<br />
&gt; up &#8211; show how to mess up and how not to!</p>
<p>Having to check the origin of a message is not implicit. In this case not checking the event’s origin property will allow any message through to the receiver. Mozilla sums it up nicely in their post from <a href="https://developer.mozilla.org/en/DOM/window.postMessage" rel="nofollow">https://developer.mozilla.org/en/DOM/window.postMessage</a>.<br />
“If you do expect to receive messages from other sites, always verify the sender&#8217;s identity using the origin and possibly source properties. Any window (including, for example, <a href="http://evil.example.com" rel="nofollow">http://evil.example.com</a>) can send a message to any other window, and you have no guarantees that an unknown sender will not send malicious messages. Having verified identity, however, you still should always verify the syntax of the received message. Otherwise, a security hole in the site you trusted to send only trusted messages could then open a cross-site scripting hole in your site.”</p>
<p>&gt;•	Cite: New Tags Increase Attack Surface<br />
&gt;o	No they don&#8217;t. Testing with enumeration and fuzzing showed that not the<br />
&gt;tags are the problem &#8211; but the attributes. And what browsers do with it.<br />
&gt; and  don&#8217;t cause too much harm from a web security perspective -<br />
&gt;there&#8217;s nothing they do  hasn&#8217;t done before and that much worse. Not<br />
&gt; to even mention . Think about the attributes &#8211; &#8220;autofocus&#8221;, &#8220;poster&#8221;,<br />
&gt; &#8220;formaction&#8221;, and all the stuff that has been there before &#8211; the tags were never<br />
&gt; the real problem.</p>
<p>Probably a poor title heading choice on our part, but we figured it would be assumed that we were primarily touching on the new formats that are being brought in for the new video / audio tags. Not the tags themselves. Also Brandon spoke on this subject already in the comments.</p>
<p>&gt;•	Cite: Developers Should Be Wary of Cross-Origin JavaScript Requests<br />
&gt;o	Yes &#8211; and? It&#8217;s easy to make cross domain requests &#8211; use images, style<br />
&gt;sheets, scripted forms whatever. What&#8217;s hard is reading the response &#8211; and<br />
&gt;that&#8217;s what&#8217;s relevant for most attack patterns in this direction either. Don&#8217;t<br />
&gt;blame XDR for what HTTP did wrong. </p>
<p>We pretty much agree and we thought we made that some what clear in our post . That doesn&#8217;t mean there are not concerns, especially when some developers will almost certainly be opening up all access to their servers whether or not they understand the ramifications of doing so.</p>
<p>&gt;•	Cite: Sandbox Attribute Could Make Security Easier<br />
&gt;o	Nope &#8211; it doesn&#8217;t. We have the SOP for this and it (usually) works for cross<br />
&gt;domain restrictions. One problem the &#8220;sandbox&#8221; attribute can actually solve if<br />
&gt;implemented correctly are frame busters via &#8220;allow-scripting&#8221;. Since no user<br />
&gt;agent has actually implemented the sandbox so far it&#8217;s still a lot of hypothesis<br />
&gt;powder involved in saying it makes security easier. What will the &#8220;webmaster&#8221; &gt;do with sand-boxed tags and let&#8217;s say his precious money making ad<br />
&gt;banners and skyscrapers? No JavaScript for them? Or better some flash? Or no<br />
&gt;at all? Sand-boxed frames raise a lot of new questions instead of<br />
&gt;solving them. Again you managed to invert HTML5 goodies to be problematic<br />
&gt;and vice versa. And what about &#8220;seamless&#8221; iframes?</p>
<p>As we stated the sandbox is a moving target and we are not entirely sure how much it will help. It really depends on how it will be implemented. We feel that in certain circumstances, this type of sandboxing can be a benefit to sites that wish to include some third party content into their site without putting their users at risk in the event that the content is malicious. Also, It should be noted that the sandbox attribute has already been implemented in Chrome Dev channels and Chromium and is currently in WebKit trunk.</p>
<p>&gt;•	Cite: Always Remember Input Validation<br />
&gt;o	Ah &#8211; right! Input validation. I totally forgot in my new project&#8230; no<br />
&gt;comments on that educational gem. So &#8211; what makes input validation in the<br />
&gt;HTML5 era special? What should we be taking care of? What are critical things &gt;to keep in kind? Input validation to prevent client side SQL injection maybe? New<br />
&gt; attributes that need to be black-listed? Or less attributes to be white-listed?</p>
<p>I think most people understand input validation is a fickle&#8230; beast. It really depends on what you are trying to protect against and you can not apply a one size fits all solution to input.</p>
<p>Later on the author goes on to state some things we should have added. </p>
<p>&gt;“Attributes, undoManager, inline SVG, , the &#8220;autofocus&#8221; related<br />
&gt;security implications. What about  &#8220;srcdoc&#8221;? What about focus stealing<br />
&gt;attacks? What abouttoStaticHtml()? What about DoS via client side regex<br />
&gt;validation? Where&#8217;s actual advice on how to do it better? And not to forget about<br />
&gt;the things HTML5 actually fixes &#8211; like the weird SHORTTAG syntax &#8211; compare<br />
&gt;Firefox 3.6+ in HTML4 and HTML5 mode with this example &lt;p<a>href=&#8221;javascript:alert(1)&#8221;&gt;ab&#8230;”</p>
<p>Which is awesome, some of these I had not been aware of. Here is my quick assessment of them.</p>
<p>UndoManager – This object is bound to the window so SOP would apply. The usual XSS risks exist here. If you have XSS you can read the entire DOM anyways, so besides reading typos not sure what the additional risk is.</p>
<p>Inline SVG – This some what falls under the new data format support, increasing the attack surface. Somewhat unrelated but I found a bug in chromium’s SVG implementation (</a><a href="http://code.google.com/p/chromium/issues/detail?id=21338" rel="nofollow">http://code.google.com/p/chromium/issues/detail?id=21338</a>) a while back.</p>
<p> – Good point (<a href="http://code.google.com/p/doctype/wiki/MetaCharsetAttribute" rel="nofollow">http://code.google.com/p/doctype/wiki/MetaCharsetAttribute</a>) forcing the character set of a document as to not cause browsers to ‘sniff the charset’ is definitely something developers should be aware of. However, this is no real different than  which, if not supplied in html 4 documents could lead to the same issues. </p>
<p>Autofocus – Also a good point, chrome will even autofocus into an iframe (overriding the primary documents autofocus’d element) which could be problematic and could potentially be (ab)used in DOM redressing style attacks. Not to mention the fact that just having the &#8216;autofocus&#8217; attribute and an onfocus event inside a tag leads to instant execution of script. </p>
<p> srcdoc’s attribute – srcdoc allows for developers  to include 3rd party content into an attribute. This can be protected by the sandbox attribute but will definitely have it’s own interesting security challenges. Doing proper validation, specifically encoding quotes to protect against attribute break out, will be key in order to maintaining control over the data included in the srcdoc attribute.</p>
<p>Focus stealing attacks &#8211; somewhat summed up in the autofocus attribute but same sort of risks with DOM redressing.</p>
<p>toStaticHtml – This is only implemented in IE8 and as far as I know nothing in HTML 5 really compares to it unlike IE’s XDR which is a similar implementation of CORS.</p>
<p>DoS via client side regex validation – I am assuming this is in response to input fields allowing regular expressions in the “pattern” attribute (<a href="http://www.whatwg.org/specs/web-apps/current-work/#the-pattern-attribute" rel="nofollow">http://www.whatwg.org/specs/web-apps/current-work/#the-pattern-attribute</a>). It is assumed here that the browsers built in EMCAScript engine will be parsing these regex’s. Invalid regex&#8217;s could put a user at risk if one can inject values into a victims form. </p>
<p>SHORTTAG &#8211; totally, agree it will help significantly, once of course, the backwards compatibility is removed!!!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: brandon creighton</title>
		<link>http://www.veracode.com/blog/2010/05/html5-security-in-a-nutshell/comment-page-1/#comment-3483</link>
		<dc:creator>brandon creighton</dc:creator>
		<pubDate>Wed, 19 May 2010 16:14:14 +0000</pubDate>
		<guid isPermaLink="false">http://www.veracode.com/blog/?p=1229#comment-3483</guid>
		<description>Also, I&#039;m kind of with you on the codec situation.  In a typical user&#039;s browser, media files are already being parsed by a host of third-party plugins; it&#039;s tough to argue that the attack surface is greatly increased by the audio/video tags -- or even other new parsing code being introduced into browsers (WOFF, web socket frames, etc.).  Browser authors now have a new minefield of parsing/playing code they&#039;ll need to be careful with; but users have been running that kind of code already for years.

On the other hand, I gotta disagree that CORS/XDR are entirely immaterial. Certainly the inability to not read the responses from preflights limits certain attacks.  That doesn&#039;t mean exploitation scenarios won&#039;t exist.  The preflights don&#039;t send Referer, following XHR&#039;s tradition; that&#039;s not true of DOM-manipulation-based POSTs.  (Referers are, sadly, not reliably present enough to be used as infallible XSRF protection; but that doesn&#039;t mean they&#039;re not worth checking when they *are* present).  If XDR also sent cookies in the preflight, you&#039;d be able to XSRF non-nonce-protected requests like file uploads (you can send arbitrary bodies!) and other weird stuff.  If you can header-inject, or if the target server has messed up the Access-Control-Allow-Origin:, you can actually do that.  That&#039;s not true now.  That&#039;s why it&#039;s sad to see stuff like the MSDN article&#039;s &quot;just let * through&quot; code-snippet recommendation; I suspect we&#039;ll all be seeing that mistake being made in apps shortly.

It is unfair to single out CORS/XDR; it&#039;s probably more constructive to weave them into the &quot;XSRF is a serious problem&quot; narrative.  I think it&#039;s time to put the onus on browser developers to clearly make available the provenance of request origins (including referers and request source (XHR/link click/JS navigation)) in a standard, reliable way.</description>
		<content:encoded><![CDATA[<p>Also, I&#8217;m kind of with you on the codec situation.  In a typical user&#8217;s browser, media files are already being parsed by a host of third-party plugins; it&#8217;s tough to argue that the attack surface is greatly increased by the audio/video tags &#8212; or even other new parsing code being introduced into browsers (WOFF, web socket frames, etc.).  Browser authors now have a new minefield of parsing/playing code they&#8217;ll need to be careful with; but users have been running that kind of code already for years.</p>
<p>On the other hand, I gotta disagree that CORS/XDR are entirely immaterial. Certainly the inability to not read the responses from preflights limits certain attacks.  That doesn&#8217;t mean exploitation scenarios won&#8217;t exist.  The preflights don&#8217;t send Referer, following XHR&#8217;s tradition; that&#8217;s not true of DOM-manipulation-based POSTs.  (Referers are, sadly, not reliably present enough to be used as infallible XSRF protection; but that doesn&#8217;t mean they&#8217;re not worth checking when they *are* present).  If XDR also sent cookies in the preflight, you&#8217;d be able to XSRF non-nonce-protected requests like file uploads (you can send arbitrary bodies!) and other weird stuff.  If you can header-inject, or if the target server has messed up the Access-Control-Allow-Origin:, you can actually do that.  That&#8217;s not true now.  That&#8217;s why it&#8217;s sad to see stuff like the MSDN article&#8217;s &#8220;just let * through&#8221; code-snippet recommendation; I suspect we&#8217;ll all be seeing that mistake being made in apps shortly.</p>
<p>It is unfair to single out CORS/XDR; it&#8217;s probably more constructive to weave them into the &#8220;XSRF is a serious problem&#8221; narrative.  I think it&#8217;s time to put the onus on browser developers to clearly make available the provenance of request origins (including referers and request source (XHR/link click/JS navigation)) in a standard, reliable way.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: brandon creighton</title>
		<link>http://www.veracode.com/blog/2010/05/html5-security-in-a-nutshell/comment-page-1/#comment-3482</link>
		<dc:creator>brandon creighton</dc:creator>
		<pubDate>Wed, 19 May 2010 15:43:21 +0000</pubDate>
		<guid isPermaLink="false">http://www.veracode.com/blog/?p=1229#comment-3482</guid>
		<description>hey!  it&#039;s good to see other people working on this.

Cross-domain messaging: yes, of course you have to do it incorrectly to be insecure.  But it&#039;s not as implicit as you make it sound; in the postMessage() handler, it&#039;s up to you to check the event object&#039;s origin.  Nothing&#039;s making you do that, and certainly nothing&#039;s preventing you from messing it up (say, by doing a substring search for &quot;trustedhost.com&quot;)).  There&#039;s some better discussion about it on the MDC page for postMessage(): &lt;a href=&quot;https://developer.mozilla.org/En/DOM/Window.postMessage&quot; rel=&quot;nofollow&quot;&gt;https://developer.mozilla.org/En/DOM/Window.postMessage&lt;/a&gt;</description>
		<content:encoded><![CDATA[<p>hey!  it&#8217;s good to see other people working on this.</p>
<p>Cross-domain messaging: yes, of course you have to do it incorrectly to be insecure.  But it&#8217;s not as implicit as you make it sound; in the postMessage() handler, it&#8217;s up to you to check the event object&#8217;s origin.  Nothing&#8217;s making you do that, and certainly nothing&#8217;s preventing you from messing it up (say, by doing a substring search for &#8220;trustedhost.com&#8221;)).  There&#8217;s some better discussion about it on the MDC page for postMessage(): <a href="https://developer.mozilla.org/En/DOM/Window.postMessage" rel="nofollow">https://developer.mozilla.org/En/DOM/Window.postMessage</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: .mario</title>
		<link>http://www.veracode.com/blog/2010/05/html5-security-in-a-nutshell/comment-page-1/#comment-3476</link>
		<dc:creator>.mario</dc:creator>
		<pubDate>Wed, 19 May 2010 00:14:14 +0000</pubDate>
		<guid isPermaLink="false">http://www.veracode.com/blog/?p=1229#comment-3476</guid>
		<description>http://code.google.com/p/html5security/wiki/ArticleReview0001veracode17052010

Here&#039;s my 2¢ on this article.</description>
		<content:encoded><![CDATA[<p><a href="http://code.google.com/p/html5security/wiki/ArticleReview0001veracode17052010" rel="nofollow">http://code.google.com/p/html5security/wiki/ArticleReview0001veracode17052010</a></p>
<p>Here&#8217;s my 2¢ on this article.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

