Plume CMS 1.2.4 - Multiple Persistent Cross-Site Scripting Vulnerabilities

EDB-ID:

18699




Platform:

PHP

Date:

2012-04-04


+--------------------------------------------------------------------------------------------------------------------------------+
# Exploit Title     : PlumeCMS <= 1.2.4 Multiple Persistent XSS
# Date              : 04-04-2012
# Author            : Ivano Binetti (http://www.ivanobinetti.com)
# Software link     : http://sourceforge.net/projects/pxsystem/files/latest/download?source=directory
# Vendor site       : http://pxsystem.sourceforge.net/
# Version           : 1.2.4 (latest) and lower
# Tested on         : Debian Squeeze (6.0)
# Original Advisory : http://www.webapp-security.com/2012/04/plumecms/
# CVE               : CVE-2012-2156
+--------------------------------------------------------------------------------------------------------------------------------+
Summary
1)Introduction
2)Vulnerability Description
 2.1 "u_email" parameter
 2.2 "u_realname" parameter
 2.3 "c_author" parameter
3)Exploit
 3.2 Exploit "u_email" parameter
 3.2 Exploit "u_realname" parameter
 3.3 Exploit "c_author" parameter
+---------------------------------------------------------------------------------------------------------------------------------+
1)Introduction
PlumeCMS is a "Versatile Content Management System in PHP on top of MySQL".

2)Vulnerability Description
PlumeCMS 1.2.4 (and below) is prone to multiple peristent XSS vulnerability due to an improper input sanitization of multiple
parameters.
 2.1 "u_email" parameter
 "u_email"  parameters is not correctly sanitized before being passed to server side script "manager/users.php" via http POST 
 method. An attacker - who is able to change his profile settings - could insert malicious code into "Email" field
 - within "Authors" template - in order to create a persistent XSS vulnerability for all user/admin who access to Plume's 
 management interface.
 
 2.2 "u_realname" parameter
 "u_realname" parameter is not correctly sanitized before being passed to server side script "manager/users.php" via http POST 
 method. An attacker - who is able to change his profile settings - could insert malicious code into "Name" field
 - within "Authors" template - in order to create a persistent XSS vulnerability for all user/admin who access to Plume's 
 management interface.

 2.3 "c_author" parameter
 An unauthenticated user could insert html/javascript code in "Author" field within "ADD A COMMENT" section - which is present
 in every web page - due to an incorrect sanitization of "c_author" parameter. This will produce a Persistent XSS vulnerability
 for all user/admin who will click on "Comments" tab within Plume's administration interface. 

3)Exploit 
 3.1 Exploit "u_email" parameter
 Insert the following code in "Email" field within "Authors" template under "manager/users.php?user_id=<user_id>":
 <script>alert("xss")</script>

 3.2 Exploit "u_realname" parameter
 Insert the following code in "Name" field within "Authors" template under "manager/users.php?user_id=<user_id>":
 <script>alert("xss")</script>

 3.3 Exploit "c_author" parameter
 Insert the following code in "Author" field within "ADD A COMMENT" section":
 <script>alert("xss")</script>
+----------------------------------------------------------------------------------------------------------------------------------+