<?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: WordPress inadvertent disclosure bug</title>
	<atom:link href="http://blog.kamens.us/2009/10/06/wordpress-inadvertent-disclosure-bug/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.kamens.us/2009/10/06/wordpress-inadvertent-disclosure-bug/</link>
	<description>Musings of an indignant mind</description>
	<lastBuildDate>Thu, 29 Jul 2010 12:08:04 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Security in October: Google Wave, Facebook, XSS &#124; .eduGuru</title>
		<link>http://blog.kamens.us/2009/10/06/wordpress-inadvertent-disclosure-bug/comment-page-1/#comment-104932</link>
		<dc:creator>Security in October: Google Wave, Facebook, XSS &#124; .eduGuru</dc:creator>
		<pubDate>Fri, 30 Oct 2009 18:28:28 +0000</pubDate>
		<guid isPermaLink="false">http://blog.kamens.brookline.ma.us/~jik/wordpress/?p=977#comment-104932</guid>
		<description>[...] (via Something Better to Do) [...]</description>
		<content:encoded><![CDATA[<p>[...] (via Something Better to Do) [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Eric Howe</title>
		<link>http://blog.kamens.us/2009/10/06/wordpress-inadvertent-disclosure-bug/comment-page-1/#comment-104842</link>
		<dc:creator>Eric Howe</dc:creator>
		<pubDate>Fri, 16 Oct 2009 06:23:24 +0000</pubDate>
		<guid isPermaLink="false">http://blog.kamens.brookline.ma.us/~jik/wordpress/?p=977#comment-104842</guid>
		<description>If you grab the TinyMCE source and grep it for _mcePaste you&#039;ll find it in the paste plugin. I don&#039;t know my way around TinyMCE but it looks like it creates an id=&quot;_mcePaste&quot;  as a holding pen for incoming pasted HTML so that it can clean it up; it looks like one _mcePaste is created on the first paste and re-used for subsequent paste; however, I don&#039;t think TinyMCE is cleaning up after itself, it should be deleting the _mcePaste  after it is done with it but I don&#039;t see anything like that going on. Cleaning up pasted HTML makes a lot of sense, have a look at the HTML the Word tries to paste into things for some reasons; also, you have to worry about properly closing block tags if you&#039;re pasting over a selection that crosses blocks.

The problem looks like sloppiness in TinyMCE. However, WordPress should be scrubbing and sanity checking the HTML (WordPress does do this, right?) so it should be easy for WordPress to strip out the  during the scrubbing. OTOH, TinyMCE should be doing the paste like this: create &quot;hidden&quot; , paste into it, mangling incoming HTML, delete &quot;hidden&quot; . That last step seems to be missing.

BTW, I don&#039;t even use WordPress or TinyMCE, I think I got here through comp.risks and started playing around to see what I could eye-ball in the code.</description>
		<content:encoded><![CDATA[<p>If you grab the TinyMCE source and grep it for _mcePaste you&#8217;ll find it in the paste plugin. I don&#8217;t know my way around TinyMCE but it looks like it creates an id=&#8221;_mcePaste&#8221;  as a holding pen for incoming pasted HTML so that it can clean it up; it looks like one _mcePaste is created on the first paste and re-used for subsequent paste; however, I don&#8217;t think TinyMCE is cleaning up after itself, it should be deleting the _mcePaste  after it is done with it but I don&#8217;t see anything like that going on. Cleaning up pasted HTML makes a lot of sense, have a look at the HTML the Word tries to paste into things for some reasons; also, you have to worry about properly closing block tags if you&#8217;re pasting over a selection that crosses blocks.</p>
<p>The problem looks like sloppiness in TinyMCE. However, WordPress should be scrubbing and sanity checking the HTML (WordPress does do this, right?) so it should be easy for WordPress to strip out the  during the scrubbing. OTOH, TinyMCE should be doing the paste like this: create &#8220;hidden&#8221; , paste into it, mangling incoming HTML, delete &#8220;hidden&#8221; . That last step seems to be missing.</p>
<p>BTW, I don&#8217;t even use WordPress or TinyMCE, I think I got here through comp.risks and started playing around to see what I could eye-ball in the code.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: jik</title>
		<link>http://blog.kamens.us/2009/10/06/wordpress-inadvertent-disclosure-bug/comment-page-1/#comment-104813</link>
		<dc:creator>jik</dc:creator>
		<pubDate>Tue, 13 Oct 2009 16:23:05 +0000</pubDate>
		<guid isPermaLink="false">http://blog.kamens.brookline.ma.us/~jik/wordpress/?p=977#comment-104813</guid>
		<description>&lt;em&gt;I’m not saying this is not a security issue, but is it possible that the clipboard contents you pasted contained this style=”overflow: hidden;” stuff?&lt;/em&gt;

No.

&lt;em&gt;Then again, with a name like “_mcePaste” perhaps this scenario is less likely than WYSIWYG editor creating the tag out of thin air as you presume. I dunno. (Is MCE a WordPress acronym?)&lt;/em&gt;

Yes.  TinyMCE is the visual editor used by WordPress.  See http://tinymce.moxiecode.com/.</description>
		<content:encoded><![CDATA[<p><em>I’m not saying this is not a security issue, but is it possible that the clipboard contents you pasted contained this style=”overflow: hidden;” stuff?</em></p>
<p>No.</p>
<p><em>Then again, with a name like “_mcePaste” perhaps this scenario is less likely than WYSIWYG editor creating the tag out of thin air as you presume. I dunno. (Is MCE a WordPress acronym?)</em></p>
<p>Yes.  TinyMCE is the visual editor used by WordPress.  See <a href="http://tinymce.moxiecode.com/">http://tinymce.moxiecode.com/</a>.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: bitguru</title>
		<link>http://blog.kamens.us/2009/10/06/wordpress-inadvertent-disclosure-bug/comment-page-1/#comment-104812</link>
		<dc:creator>bitguru</dc:creator>
		<pubDate>Tue, 13 Oct 2009 16:21:07 +0000</pubDate>
		<guid isPermaLink="false">http://blog.kamens.brookline.ma.us/~jik/wordpress/?p=977#comment-104812</guid>
		<description>I&#039;m not saying this is not a security issue, but is it possible that the clipboard contents you pasted contained this style=”overflow: hidden;&quot; stuff?

It seems possible that you pasted HTML content from your email client, and that the HTML content did contain this ... tag. In cases like this should we expect the WordPress WYSIWYG editor to sanitize the paste, or to pass it through verbatim? I can see arguments for either way.

Then again, with a name like &quot;_mcePaste&quot; perhaps this scenario is less likely than WYSIWYG editor creating the tag out of thin air as you presume. I dunno. (Is MCE a WordPress acronym?)</description>
		<content:encoded><![CDATA[<p>I&#8217;m not saying this is not a security issue, but is it possible that the clipboard contents you pasted contained this style=”overflow: hidden;&#8221; stuff?</p>
<p>It seems possible that you pasted HTML content from your email client, and that the HTML content did contain this &#8230; tag. In cases like this should we expect the WordPress WYSIWYG editor to sanitize the paste, or to pass it through verbatim? I can see arguments for either way.</p>
<p>Then again, with a name like &#8220;_mcePaste&#8221; perhaps this scenario is less likely than WYSIWYG editor creating the tag out of thin air as you presume. I dunno. (Is MCE a WordPress acronym?)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: jik</title>
		<link>http://blog.kamens.us/2009/10/06/wordpress-inadvertent-disclosure-bug/comment-page-1/#comment-104804</link>
		<dc:creator>jik</dc:creator>
		<pubDate>Mon, 12 Oct 2009 14:30:18 +0000</pubDate>
		<guid isPermaLink="false">http://blog.kamens.brookline.ma.us/~jik/wordpress/?p=977#comment-104804</guid>
		<description>@Terence Eden: The issue with this security hole isn&#039;t that there&#039;s hidden text in the original document being pasted and this hidden text is carried over into the blog posting being edited.  Rather, the security hole is that it is possible for &lt;em&gt;visible&lt;/em&gt; text in the document being pasted to &lt;em&gt;become hidden&lt;/em&gt; when it is pasted, such that even if you edit or remove the text after you paste it (as I clearly intended to do, when I pasted text containing a password and then edited it to remove the password), the original text could remain hidden in your blog posting without you realizing it.

The truly paranoid will therefore carefully review the entire HTML version of a blog entry before publishing it, if there&#039;s any chance that private text was inadvertently posted into it in hidden form, but most people are not going to bother with this, because most people have no idea that the visual editor could have added hidden text to their blog without their knowledge or consent.</description>
		<content:encoded><![CDATA[<p>@Terence Eden: The issue with this security hole isn&#8217;t that there&#8217;s hidden text in the original document being pasted and this hidden text is carried over into the blog posting being edited.  Rather, the security hole is that it is possible for <em>visible</em> text in the document being pasted to <em>become hidden</em> when it is pasted, such that even if you edit or remove the text after you paste it (as I clearly intended to do, when I pasted text containing a password and then edited it to remove the password), the original text could remain hidden in your blog posting without you realizing it.</p>
<p>The truly paranoid will therefore carefully review the entire HTML version of a blog entry before publishing it, if there&#8217;s any chance that private text was inadvertently posted into it in hidden form, but most people are not going to bother with this, because most people have no idea that the visual editor could have added hidden text to their blog without their knowledge or consent.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: jik</title>
		<link>http://blog.kamens.us/2009/10/06/wordpress-inadvertent-disclosure-bug/comment-page-1/#comment-104802</link>
		<dc:creator>jik</dc:creator>
		<pubDate>Mon, 12 Oct 2009 14:17:41 +0000</pubDate>
		<guid isPermaLink="false">http://blog.kamens.brookline.ma.us/~jik/wordpress/?p=977#comment-104802</guid>
		<description>&lt;em&gt;Can you work out what you did to make the problem repeatable? Until it’s possible to isolate the bug, it’s very difficult to fix.&lt;/em&gt;

If the folks at security@wordpress.com had agreed with me that there is a security issue and asked me to work with them to help identify it, I would have been happy to do so.

Instead, they ignored me for a week, and then when they finally replied to my &lt;em&gt;third&lt;/em&gt; attempt to get them to pay attention to me, they said everything was working properly and there was no security issue.  They &lt;em&gt;still&lt;/em&gt; haven&#039;t acknowledged that there is a security issue.

So, I hope you&#039;ll understand when I say that I&#039;m not exactly motivated to put myself out to help them figure out their bug.

In any case, many people have posted about the problem on the Web, albeit not the security aspects of it, and several of them have discussed how they were able to reproduce it.  I&#039;m not convinced that they way they were able to reproduce it is the only vector for this bug, but it&#039;s more than enough information to point the WordPress developers in the right direction and enable them to figure out the bug, should they choose to do so rather than ignoring reports about it.

&lt;em&gt;Also, most support issues should go to the WordPress › Support forums.&lt;/em&gt;

This is not a support issue, it is a bug.  Furthermore, it is a security bug, which is why I sent email to the private security email list rather than posting publicly about it.  I posted publicly only because of the unacceptable response from the WordPress developers who are on that list.</description>
		<content:encoded><![CDATA[<p><em>Can you work out what you did to make the problem repeatable? Until it’s possible to isolate the bug, it’s very difficult to fix.</em></p>
<p>If the folks at <a href="mailto:security@wordpress.com">security@wordpress.com</a> had agreed with me that there is a security issue and asked me to work with them to help identify it, I would have been happy to do so.</p>
<p>Instead, they ignored me for a week, and then when they finally replied to my <em>third</em> attempt to get them to pay attention to me, they said everything was working properly and there was no security issue.  They <em>still</em> haven&#8217;t acknowledged that there is a security issue.</p>
<p>So, I hope you&#8217;ll understand when I say that I&#8217;m not exactly motivated to put myself out to help them figure out their bug.</p>
<p>In any case, many people have posted about the problem on the Web, albeit not the security aspects of it, and several of them have discussed how they were able to reproduce it.  I&#8217;m not convinced that they way they were able to reproduce it is the only vector for this bug, but it&#8217;s more than enough information to point the WordPress developers in the right direction and enable them to figure out the bug, should they choose to do so rather than ignoring reports about it.</p>
<p><em>Also, most support issues should go to the WordPress › Support forums.</em></p>
<p>This is not a support issue, it is a bug.  Furthermore, it is a security bug, which is why I sent email to the private security email list rather than posting publicly about it.  I posted publicly only because of the unacceptable response from the WordPress developers who are on that list.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Terence Eden</title>
		<link>http://blog.kamens.us/2009/10/06/wordpress-inadvertent-disclosure-bug/comment-page-1/#comment-104797</link>
		<dc:creator>Terence Eden</dc:creator>
		<pubDate>Mon, 12 Oct 2009 09:33:42 +0000</pubDate>
		<guid isPermaLink="false">http://blog.kamens.brookline.ma.us/~jik/wordpress/?p=977#comment-104797</guid>
		<description>An interesting point. Does WordPress need a &quot;Paste Special&quot; option.

From my point of view, copying and pasting HTML should act on *everything* a user has selected.  There&#039;s no way of knowing if the user just wants to paste the plain text, simple formatting (bold, lists, etc) or complex (tables, hidden markup, etc).

WordPress has no way of knowing whether the author wants the hidden markup or not.  It would also be complex for it to figure out if the text would be hidden in the WYSIWYG view.

Assuming you do think it should change - how would you design the User Interface? Do you show a pop-up every time the user pastes HTML? The first time? Have it remove all formatting unless the user checks a config box?

It is a security flaw - no doubt about that. But it comes down to the bug/feature dichotomy.

T</description>
		<content:encoded><![CDATA[<p>An interesting point. Does WordPress need a &#8220;Paste Special&#8221; option.</p>
<p>From my point of view, copying and pasting HTML should act on *everything* a user has selected.  There&#8217;s no way of knowing if the user just wants to paste the plain text, simple formatting (bold, lists, etc) or complex (tables, hidden markup, etc).</p>
<p>WordPress has no way of knowing whether the author wants the hidden markup or not.  It would also be complex for it to figure out if the text would be hidden in the WYSIWYG view.</p>
<p>Assuming you do think it should change &#8211; how would you design the User Interface? Do you show a pop-up every time the user pastes HTML? The first time? Have it remove all formatting unless the user checks a config box?</p>
<p>It is a security flaw &#8211; no doubt about that. But it comes down to the bug/feature dichotomy.</p>
<p>T</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: scruss</title>
		<link>http://blog.kamens.us/2009/10/06/wordpress-inadvertent-disclosure-bug/comment-page-1/#comment-104789</link>
		<dc:creator>scruss</dc:creator>
		<pubDate>Sat, 10 Oct 2009 14:44:55 +0000</pubDate>
		<guid isPermaLink="false">http://blog.kamens.brookline.ma.us/~jik/wordpress/?p=977#comment-104789</guid>
		<description>Can you work out what you did to make the problem repeatable? Until it&#039;s possible to isolate the bug, it&#039;s very difficult to fix.

Also, most support issues should go to the &lt;a href=&quot;http://wordpress.org/support/&quot; rel=&quot;nofollow&quot;&gt;WordPress › Support&lt;/a&gt; forums.</description>
		<content:encoded><![CDATA[<p>Can you work out what you did to make the problem repeatable? Until it&#8217;s possible to isolate the bug, it&#8217;s very difficult to fix.</p>
<p>Also, most support issues should go to the <a href="http://wordpress.org/support/">WordPress › Support</a> forums.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
