<?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"
	>
<channel>
	<title>Comments on: 0day vulnerability in Firebug</title>
	<atom:link href="http://larholm.com/2007/04/06/0day-vulnerability-in-firebug/feed/" rel="self" type="application/rss+xml" />
	<link>http://larholm.com/2007/04/06/0day-vulnerability-in-firebug/</link>
	<description>Me, myself and I</description>
	<pubDate>Wed, 19 Nov 2008 11:56:05 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.2</generator>
		<item>
		<title>By: Joe Hewitt</title>
		<link>http://larholm.com/2007/04/06/0day-vulnerability-in-firebug/#comment-9</link>
		<dc:creator>Joe Hewitt</dc:creator>
		<pubDate>Fri, 06 Apr 2007 01:50:49 +0000</pubDate>
		<guid isPermaLink="false">http://test.larholm.com/?p=7#comment-9</guid>
		<description>You're right, that was dumb of me, I should automatically escape everything.  I'm going to release a new version, hopefully within the hour, with this fixed.</description>
		<content:encoded><![CDATA[<p>You&#8217;re right, that was dumb of me, I should automatically escape everything.  I&#8217;m going to release a new version, hopefully within the hour, with this fixed.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Thor Larholm</title>
		<link>http://larholm.com/2007/04/06/0day-vulnerability-in-firebug/#comment-8</link>
		<dc:creator>Thor Larholm</dc:creator>
		<pubDate>Fri, 06 Apr 2007 01:03:20 +0000</pubDate>
		<guid isPermaLink="false">http://test.larholm.com/?p=7#comment-8</guid>
		<description>Hi Joe, thank you for commenting so quickly.

You are right that a functional construct such as your domplate does enable you to more easily identify potentially hazardous HTML. If properly designed, any input validation can be controlled from a single entry point.

However, the decision about what kind of input validation to perform is still left up to the individual code segments that use domplate constructors. I would suggest that all your string constructs call the escapeHTML function automatically, instead of having to specify it manually in each instance.

I did not get to read your comment until after I had written my follow up post, so my apologies if it causes you any concern.</description>
		<content:encoded><![CDATA[<p>Hi Joe, thank you for commenting so quickly.</p>
<p>You are right that a functional construct such as your domplate does enable you to more easily identify potentially hazardous HTML. If properly designed, any input validation can be controlled from a single entry point.</p>
<p>However, the decision about what kind of input validation to perform is still left up to the individual code segments that use domplate constructors. I would suggest that all your string constructs call the escapeHTML function automatically, instead of having to specify it manually in each instance.</p>
<p>I did not get to read your comment until after I had written my follow up post, so my apologies if it causes you any concern.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Larholm.com - Me, myself and I &#187; More 0day in Firebug</title>
		<link>http://larholm.com/2007/04/06/0day-vulnerability-in-firebug/#comment-7</link>
		<dc:creator>Larholm.com - Me, myself and I &#187; More 0day in Firebug</dc:creator>
		<pubDate>Fri, 06 Apr 2007 00:57:12 +0000</pubDate>
		<guid isPermaLink="false">http://test.larholm.com/?p=7#comment-7</guid>
		<description>[...] 0day vulnerability in Firebug [...]</description>
		<content:encoded><![CDATA[<p>[...] 0day vulnerability in Firebug [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Joe Hewitt</title>
		<link>http://larholm.com/2007/04/06/0day-vulnerability-in-firebug/#comment-6</link>
		<dc:creator>Joe Hewitt</dc:creator>
		<pubDate>Fri, 06 Apr 2007 00:42:01 +0000</pubDate>
		<guid isPermaLink="false">http://test.larholm.com/?p=7#comment-6</guid>
		<description>I and all the other Firebug userss would really appreciate it if you could alert me (joe@joehewitt.com) to the new exploit you have found so I can patch it before it leaves us all vulnerable.

One motivation for the functional DOM construction was indeed security - it's far easier to identify code where I'm inserting potentially hazardous HTML this way.  Firebug 0.4 used DOM methods which resulted in a lot more code to scan.

The exploit doesn't indict the domplates system as much as it indicts me for forgetting to escape one string.

I'm not sure how you draw the conclusion that domplates are responsible for a large portion of the 700k weight of Firebug.  domplates.js is only 25k, and while uses of domplates are many in Firebug, those applications would consume many more lines of code using DOM methods instead.

domplates are also much faster than DOM methods because they compile down to strings, reducing potentially hundreds of DOM method calls to a single innerHTML call.</description>
		<content:encoded><![CDATA[<p>I and all the other Firebug userss would really appreciate it if you could alert me (joe@joehewitt.com) to the new exploit you have found so I can patch it before it leaves us all vulnerable.</p>
<p>One motivation for the functional DOM construction was indeed security - it&#8217;s far easier to identify code where I&#8217;m inserting potentially hazardous HTML this way.  Firebug 0.4 used DOM methods which resulted in a lot more code to scan.</p>
<p>The exploit doesn&#8217;t indict the domplates system as much as it indicts me for forgetting to escape one string.</p>
<p>I&#8217;m not sure how you draw the conclusion that domplates are responsible for a large portion of the 700k weight of Firebug.  domplates.js is only 25k, and while uses of domplates are many in Firebug, those applications would consume many more lines of code using DOM methods instead.</p>
<p>domplates are also much faster than DOM methods because they compile down to strings, reducing potentially hundreds of DOM method calls to a single innerHTML call.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
