Jump to content
Nytro

WordPress 4.2 stored XSS

Recommended Posts

Posted

WordPress 4.2 stored XSS

From: Jouko Pynnonen <jouko () iki fi>Date: Mon, 27 Apr 2015 05:15:46 +0300
OVERVIEW
==========


Current versions of WordPress are vulnerable to a stored XSS. An
unauthenticated attacker can inject JavaScript in WordPress comments.
The script is triggered when the comment is viewed.


If triggered by a logged-in administrator, under default settings the
attacker can leverage the vulnerability to execute arbitrary code on
the server via the plugin and theme editors.


Alternatively the attacker could change the administrator’s password,
create new administrator accounts, or do whatever else the currently
logged-in administrator can do on the target system.






DETAILS
========


If the comment text is long enough, it will be truncated when inserted
in the database. The MySQL TEXT type size limit is 64 kilobytes so the
comment has to be quite long.


The truncation results in malformed HTML generated on the page. The
attacker can supply any attributes in the allowed HTML tags, in the
same way as with the two other recently published stored XSS
vulnerabilities affecting the WordPress core.


The vulnerability bears a similarity to the one reported by Cedric Van
Bockhaven in 2014 (patched this week, after 14 months). Instead of
using an invalid UTF-8 character to truncate the comment, this time an
excessively long comment text is used for the same effect.


In these two cases the injected JavaScript apparently can't be
triggered in the administrative Dashboard, so these exploits require
getting around comment moderation e.g. by posting one harmless comment
first.






PROOF OF CONCEPT
==================


Enter the following as a comment:


<a title='x onmouseover=alert(unescape(/hello%20world/.source))
style=position:absolute;left:0;top:0;width:5000px;height:5000px
AAAAAAAAAAAA [64 kb] ...'></a>




This was tested on WordPress 4.2, 4.1.2, and 4.1.1, MySQL versions
5.1.53 and 5.5.41.






SOLUTION
=========


Disable comments (Dashboard, Settings/Discussion, select as
restrictive options as possible). Do not approve any comments.






CREDITS
========


The vulnerability was discovered by Jouko Pynnönen of Klikki Oy.


An up-to-date version of this document: http://klikki.fi/adv/wordpress2.html






--
Jouko Pynnönen <jouko () iki fi>
Klikki Oy - http://klikki.fi - @klikkioy

Sursa: Bugtraq: WordPress 4.2 stored XSS

  • Upvote 1

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...