<?xml version="1.0" encoding="UTF-8"?> 
<?xml-stylesheet href="https://dev.horde.org/themes/horde//default/feed-rss.xsl" type="text/xsl"?> 
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"> 
 <channel> 
  <title>XSS vulnerability</title> 
  <pubDate>Fri, 10 Apr 2026 13:09:14 +0000</pubDate> 
  <link>https://bugs.horde.org/ticket/8715</link> 
  <atom:link rel="self" type="application/rss+xml" title="XSS vulnerability" href="https://bugs.horde.org/ticket/8715/rss" /> 
  <description>XSS vulnerability</description> 
 
   
   
  <item> 
   <title>.</title> 
   <description>.</description> 
   <pubDate>Wed, 18 Nov 2009 06:48:28 +0000</pubDate> 
   <link>https://bugs.horde.org/ticket/8715#t56769</link> 
  </item> 
   
  <item> 
   <title>How about this?</title> 
   <description>How about this?</description> 
   <pubDate>Tue, 24 Nov 2009 05:17:35 +0000</pubDate> 
   <link>https://bugs.horde.org/ticket/8715#t56829</link> 
  </item> 
   
  <item> 
   <title>Attachments are not private anyway. :)

Your patch seems t</title> 
   <description>Attachments are not private anyway. :)

Your patch seems to do its job, attached is a test case.

I&#039;m not sure how far Firefox can be tricked to consider a link as a data scheme. I&#039;m thinking of variants of &quot;data:text/html&quot;.</description> 
   <pubDate>Tue, 24 Nov 2009 23:39:37 +0000</pubDate> 
   <link>https://bugs.horde.org/ticket/8715#t56840</link> 
  </item> 
   
  <item> 
   <title>Don&#039;t forget about other content types. For example, if the </title> 
   <description>Don&#039;t forget about other content types. For example, if the data is the base64 encoding of:

&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;
&lt;!DOCTYPE html 
     PUBLIC &quot;-//W3C//DTD XHTML 1.0 Strict//EN&quot;
    &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd&quot;&gt;
&lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot; xml:lang=&quot;en&quot; lang=&quot;en&quot;&gt;
  &lt;head&gt;
    &lt;!--a75c305b1c0a6022--&gt;&lt;title&gt;Test&lt;/title&gt;
  &lt;/head&gt;
  &lt;body&gt;
    &lt;script type=&quot;text/javascript&quot;&gt;alert(document.cookie)&lt;/script&gt;
  &lt;/body&gt;
&lt;/html&gt;

Then, the attacker can also use a link with the following URI:

data:application/xhtml+xml;base64,&lt;encoding of above&gt;

And this is not the only one. If the use the content types text/xml or application/xml, the page will be parsed as a xml document. In the script, document has now type XMLDocument, and doesn&#039;t have the property cookie. We can still write something like:

&lt;script type=&quot;text/javascript&quot;&gt;
if (undefined === document.cookie)
  window.location.replace(window.location.href.replace(&quot;text/xml&quot;, &quot;application/xhtml+xml&quot;))
else
  alert(document.cookie)
&lt;/script&gt;
The same for application/xml, or more elaborate code to take care of various cases.

I just tested this four cases, text/html, text/xml, application/xml, application/xhtml+xml and I don&#039;t know if there are others.

I don&#039;t have a better suggestion for you, so I just leave the comment that blacklisting can be dangerous.

Thank you for your time.

&gt; Attachments are not private anyway. :)
&gt;
&gt; Your patch seems to do its job, attached is a test case.
&gt;
&gt; I&#039;m not sure how far Firefox can be tricked to consider a link as a 
&gt; data scheme. I&#039;m thinking of variants of &quot;data:text/html&quot;.
</description> 
   <pubDate>Wed, 25 Nov 2009 13:20:45 +0000</pubDate> 
   <link>https://bugs.horde.org/ticket/8715#t56847</link> 
  </item> 
   
  <item> 
   <title>&gt; I don&#039;t have a better suggestion for you, so I just leave </title> 
   <description>&gt; I don&#039;t have a better suggestion for you, so I just leave the comment 
&gt; that blacklisting can be dangerous.

Of course attempting to blacklist HTML attributes/elements to fix all security issues is dangerous.  That is why we disable HTML inline viewing by default.  But a large portion of users want/need this inline display and are willing to view these parts even with the understanding that the filtering may not be 100% accurate.

That being said, thanks for your examples.  It is clear that we need to filter *any* data information contained in the href parameter.

I&#039;m going to go ahead and add this to git and CVS FW_3.  Will leave this ticket open for a few days for additional feedback.</description> 
   <pubDate>Thu, 26 Nov 2009 00:24:07 +0000</pubDate> 
   <link>https://bugs.horde.org/ticket/8715#t56868</link> 
  </item> 
   
  <item> 
   <title>Changes have been made in Git for this ticket:

Bug #8715: F</title> 
   <description>Changes have been made in Git for this ticket:

Bug #8715: Fix XSS vulnerability.

 create mode 100644 framework/Text_Filter/test/Horde/Text/Filter/fixtures/xss96.html
http://git.horde.org/diff.php/framework/Text_Filter/lib/Horde/Text/Filter/Xss.php?rt=horde-git&amp;r1=b985abda1822ab9fde68d9e4dc7dcd16b6d6ebbc&amp;r2=14d802ae6bf6ae4e7d8721deeb3fd7ffab66a97a
http://git.horde.org/diff.php/framework/Text_Filter/package.xml?rt=horde-git&amp;r1=f40aebaffdde11d95282b77c9ca7018cffcb61dd&amp;r2=14d802ae6bf6ae4e7d8721deeb3fd7ffab66a97a
http://git.horde.org/co.php/framework/Text_Filter/test/Horde/Text/Filter/fixtures/xss96.html?rt=horde-git&amp;r=14d802ae6bf6ae4e7d8721deeb3fd7ffab66a97a
http://git.horde.org/diff.php/framework/Text_Filter/test/Horde/Text/Filter/xss.phpt?rt=horde-git&amp;r1=8459795203b644a096720099c4f22d4cdc39dc49&amp;r2=14d802ae6bf6ae4e7d8721deeb3fd7ffab66a97a</description> 
   <pubDate>Thu, 26 Nov 2009 00:28:32 +0000</pubDate> 
   <link>https://bugs.horde.org/ticket/8715#t56869</link> 
  </item> 
   
  <item> 
   <title>Changes have been made in CVS for this ticket:

Bug: 8715
ch</title> 
   <description>Changes have been made in CVS for this ticket:

Bug: 8715
changelog
http://cvs.horde.org/diff.php/horde/docs/CHANGES?rt=horde&amp;r1=1.1288&amp;r2=1.1289&amp;ty=u</description> 
   <pubDate>Thu, 26 Nov 2009 00:35:31 +0000</pubDate> 
   <link>https://bugs.horde.org/ticket/8715#t56870</link> 
  </item> 
   
  <item> 
   <title>Changes have been made in CVS for this ticket:

Bug: 8715
Fi</title> 
   <description>Changes have been made in CVS for this ticket:

Bug: 8715
Fix XSS vulnerability.
http://cvs.horde.org/diff.php/framework/Text_Filter/Filter/Attic/xss.php?rt=horde&amp;r1=1.1.2.18&amp;r2=1.1.2.19&amp;ty=u
http://cvs.horde.org/diff.php/horde/docs/CHANGES?rt=horde&amp;r1=1.515.2.583&amp;r2=1.515.2.584&amp;ty=u</description> 
   <pubDate>Thu, 26 Nov 2009 00:38:42 +0000</pubDate> 
   <link>https://bugs.horde.org/ticket/8715#t56871</link> 
  </item> 
   
  <item> 
   <title>Hi,

Attached a patch in case the link has two hrefs with </title> 
   <description>Hi,

Attached a patch in case the link has two hrefs with data URLs</description> 
   <pubDate>Mon, 19 Apr 2010 16:18:41 +0000</pubDate> 
   <link>https://bugs.horde.org/ticket/8715#t58572</link> 
  </item> 
   
  <item> 
   <title>&gt; Hi,
&gt;
&gt; Attached a patch in case the link has two hrefs </title> 
   <description>&gt; Hi,
&gt;
&gt; Attached a patch in case the link has two hrefs with data URLs

This patch is not working for all cases, but this new version of the patch it&#039;s working, at least for me.</description> 
   <pubDate>Mon, 19 Apr 2010 17:47:04 +0000</pubDate> 
   <link>https://bugs.horde.org/ticket/8715#t58573</link> 
  </item> 
   
  <item> 
   <title>Fixed in Git and Horde 3.3.9.

Git commit:
http://lists.h</title> 
   <description>Fixed in Git and Horde 3.3.9.

Git commit:
http://lists.horde.org/archives/commits/2010-May/003766.html

FW_3 CVS commit:
http://cvs.horde.org/diff.php/framework/Text_Filter/Filter/Attic/xss.php?sa=1&amp;r1=1.1.2.19&amp;r2=1.1.2.20</description> 
   <pubDate>Tue, 04 May 2010 05:14:02 +0000</pubDate> 
   <link>https://bugs.horde.org/ticket/8715#t58709</link> 
  </item> 
   
   
 
 </channel> 
</rss> 
