phplist 3.2.6 Cross Site Scripting

2017.03.20
Credit: Tim Coen
Risk: Low
Local: No
Remote: Yes
CVE: N/A
CWE: CWE-79

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


Vote for this issue:
50%
50%


 

Thanks for you vote!


 

Thanks for you comment!
Your message is in quarantine 48 hours.

Comment it here.


(*) - required fields.  
{{ x.nick }} | Date: {{ x.ux * 1000 | date:'yyyy-MM-dd' }} {{ x.ux * 1000 | date:'HH:mm' }} CET+1
{{ x.comment }}

Copyright 2018, cxsecurity.com

 

Back to Top