I&#39;ll have to take a look at how the SAC (Simple API for CSS) Parser works with CDATA tags.<br><br>I&#39;ve entered the issue into our bug tracker as ID 30 and you can follow the status here:<br><a href="http://code.google.com/p/owaspantisamy/issues/detail?id=30">http://code.google.com/p/owaspantisamy/issues/detail?id=30</a><br clear="all">
--<br>-Jason Li-<br>-<a href="http://jason.li">jason.li</a>@owasp.org-<br>
<br><br><div class="gmail_quote">On Mon, Nov 24, 2008 at 4:10 PM, Gang Zheng <span dir="ltr">&lt;<a href="mailto:gzheng@gmail.com">gzheng@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Hi,<br>
<br>
I tried the following input string with AnitSamy and encountered an exception:<br>
<br>
Input String: &lt;style type=&quot;text/css&quot;&gt;&lt;![CDATA[P { &nbsp;margin-bottom:<br>
0.08in; } ]]&gt;&lt;/style&gt;<br>
<br>
org.apache.batik.css.parser.ParseException: character<br>
 &nbsp; &nbsp; &nbsp; &nbsp;at org.apache.batik.css.parser.Scanner.nextToken(Scanner.java:381)<br>
 &nbsp; &nbsp; &nbsp; &nbsp;at org.apache.batik.css.parser.Scanner.next(Scanner.java:222)<br>
 &nbsp; &nbsp; &nbsp; &nbsp;at org.apache.batik.css.parser.Parser.parseStyleSheet(Parser.java:185)<br>
 &nbsp; &nbsp; &nbsp; &nbsp;at org.owasp.validator.css.CssScanner.scanStyleSheet(CssScanner.java:124)<br>
 &nbsp; &nbsp; &nbsp; &nbsp;at org.owasp.validator.html.scan.AntiSamyDOMScanner.recursiveValidateTag(AntiSamyDOMScanner.java:318)<br>
 &nbsp; &nbsp; &nbsp; &nbsp;at org.owasp.validator.html.scan.AntiSamyDOMScanner.scan(AntiSamyDOMScanner.java:135)<br>
 &nbsp; &nbsp; &nbsp; &nbsp;at org.owasp.validator.html.AntiSamy.scan(AntiSamy.java:99)<br>
<br>
I traced the code, and it seems that AntiSamy passes the text of<br>
&quot;&lt;![CDATA[P { &nbsp;margin-bottom: 0.08in; } ]]&gt;&quot; to the CSS scanner, and<br>
the CSS scanner does not like &lt;![CDATA[...]]&gt; as the surrounding of<br>
the real style sheet contents.<br>
<br>
If I remove the CDATA from the input and change the style sheet<br>
contents to &quot;&lt;style type=&quot;text/css&quot;&gt;P { &nbsp;margin-bottom: 0.08in;<br>
}&lt;/style&gt;&quot;, everything works fine.<br>
<br>
So my questions is, how can I make the AntiSamy/CSS Scanner correctly<br>
parse the CDATA contents? After all, the CDATA section in the original<br>
input is perfectly legal style sheet contents.<br>
<br>
Thanks,<br>
<br>
-Gang<br>
_______________________________________________<br>
Owasp-antisamy mailing list<br>
<a href="mailto:Owasp-antisamy@lists.owasp.org">Owasp-antisamy@lists.owasp.org</a><br>
<a href="https://lists.owasp.org/mailman/listinfo/owasp-antisamy" target="_blank">https://lists.owasp.org/mailman/listinfo/owasp-antisamy</a><br>
</blockquote></div><br>