Firefox nested comment fragmented XSS

Following on from a post on sla.ckers it emerges that Firefox has a vulnerability/bug that is very difficult to filter against and allows a fragmented XSS attack.

This is best illustrated by the following example:

<!DOCTYPE html="http://www.w3.org/1999/xhtml">
	<head>
		<title>test</title>
	</head>
	<body>
		&lt;!-- This is the first injection point: -- --&gt;
		<a href=test &quot;>link</a>
	</body>
	</html>

The conditions for the XSS working are 2 injection points. Injection point 1 must be inside an HTML comment whilst injection point 2 is inside a double quoted attributed. Here is the above markup replaced to illustrate this:

<!-- This is the first injection point: HERE -->
<a href="This is the second injection point: HERE">

If the first injection point is given as "--" (no quotes) then a nested comment is begun. Injection point 2 should contain --> or --ANYTHING> (which is rendered as a valid comment closing tag in Firefox) to close the comment. At this point the input is being written directly into the document rather than inside the attribute - and all without using the " character which is likely to be filtered.

Thanks to tx and thornmaker at sla.ckers for work on this!

comment from PHPIDS -+ Web Application Security 2.0 &raquo; Blog Archive &raquo; PHPIDS vs Firefox comment handling bug
[...] injection into comments is allowed. Full details of the vulnerability are available for reading at Switch/Twitch, but suffice it to say that PHPIDS (and .NETIDS) is already able to detect this attack in several [...]

add a comment
name:
website:
email:
comment: