211 lines
No EOL
11 KiB
Text
211 lines
No EOL
11 KiB
Text
Document Title:
|
||
===============
|
||
File Manager v4.2.10 iOS - Code Execution Vulnerability
|
||
|
||
|
||
References (Source):
|
||
====================
|
||
http://www.vulnerability-lab.com/get_content.php?id=1343
|
||
|
||
|
||
Release Date:
|
||
=============
|
||
2014-10-21
|
||
|
||
|
||
Vulnerability Laboratory ID (VL-ID):
|
||
====================================
|
||
1343
|
||
|
||
|
||
Common Vulnerability Scoring System:
|
||
====================================
|
||
9
|
||
|
||
|
||
Product & Service Introduction:
|
||
===============================
|
||
Try a file manager that’s unmatched in functionality and reliability. It was created to manage your cloud services like GoogleDrive, Dropbox,
|
||
Box, OneDrive, Yandex.Disk, and network services like FTP, SFTP, SMB, WebDAV, DLNA, photo galleries and files on your device. Manage all of
|
||
your stored data like sub-folders - copy, move, rename or compress to archive your folders and files. It supports all possible archive
|
||
formats: Zip, Rar, 7z, tar, gz, bz2. You can protect your folders and files with a password and view photo, video and audio content, as well
|
||
as documents. This application will be a great help for everyday tasks. Copy a folder from one cloud service to any other - easy! Quickly move
|
||
a folder from an archive to a cloud service - easy! Copy your gallery to a network or cloud service - easy!
|
||
|
||
(Copy of the Homepage: https://itunes.apple.com/de/app/file-manager-pro-manage-your/id926125881 )
|
||
|
||
|
||
Abstract Advisory Information:
|
||
==============================
|
||
The Vulnerability Laboratory Research team discovered a code execution vulnerability in the official DevelSoftware LTD - File Manager v4.2.10 iOS mobile application.
|
||
|
||
|
||
Vulnerability Disclosure Timeline:
|
||
==================================
|
||
2014-10-21: Public Disclosure (Vulnerability Laboratory)
|
||
|
||
|
||
Discovery Status:
|
||
=================
|
||
Published
|
||
|
||
|
||
Affected Product(s):
|
||
====================
|
||
DevelSoftware LTD
|
||
Product: File Manager - iOS Mobile Web Application (Wifi) 4.2.10
|
||
|
||
|
||
Exploitation Technique:
|
||
=======================
|
||
Remote
|
||
|
||
|
||
Severity Level:
|
||
===============
|
||
Critical
|
||
|
||
|
||
Technical Details & Description:
|
||
================================
|
||
A code execution vulnerability has been discovered in the official DevelSoftware LTD - File Manager v4.2.10 iOS mobile application.
|
||
The issue allows an attacker to compromise the application and connected device components by exploitation of a system specific code
|
||
execution vulnerability in the wifi interface.
|
||
|
||
The vulnerability is located in the `Create Folder` input field of the index.html wifi web interface. The function create the path value
|
||
without any protection or filter mechanism in the GET method request. Remote attackers are able to manipulate the GET method request by
|
||
usage of the `createdir?path=` parameter to compromise the application or device. The execution of the code occurs in the index.html file
|
||
next to the name output context of the wifi share file dir listing. The attack vector is located on the application-side of the mobile app
|
||
and the request method to inject is GET.
|
||
|
||
The security risk of the remote code execution web vulnerability is estimated as critical with a cvss (common vulnerability scoring system) count of 8.8
|
||
Exploitation of the remote code execution web vulnerability requires no privileged application user account (passwd default blank) or user interaction.
|
||
Successful exploitation of the code execution vulnerability results in mobile application compromise and connected or affected device component compromise.
|
||
|
||
|
||
Request Method(s):
|
||
[+] GET
|
||
|
||
Vulnerable Module(s):
|
||
[+] Create Folder
|
||
|
||
Vulnerable Parameter(s):
|
||
[+] createdir?path=(name)
|
||
|
||
Affected Module(s):
|
||
[+] Wifi Interface (index.html)
|
||
|
||
|
||
Proof of Concept (PoC):
|
||
=======================
|
||
The code execution vulnerability can be exploited by attackers in the same local wifi without user interaction or pass code authorization.
|
||
For security demonstration or to reproduce the security vulnerability follow the provided information and steps below to continue.
|
||
|
||
1. Install the mobile app to your local iOS device (iphone or ipad) [https://itunes.apple.com/de/app/file-manager-pro-manage-your/id926125881]
|
||
2. Start the app and push in the left corner the wifi transfer button
|
||
3. Take another device or computer that allows you to access the wifi file transfer interface (localhost:80)
|
||
4. Now, inject own code as payload by usage of the create folder input field
|
||
Note: The input field requests the path value directly via GET method request without secure parse or encode
|
||
5. The code execution occurs directly after the inject in the index.html file of the web interface
|
||
6. Successful reproduce of the security vulnerability!
|
||
|
||
|
||
PoC: index.html (Name) [createdir?path=]
|
||
|
||
<fieldset class="buttonsFieldset">
|
||
<input disabled="" value="Download Files" class="buttons" id="loadFileButton" onclick="loadFileButtonClick()" type="button">
|
||
<input value="Upload Files" class="buttons" id="uploadFilesButton" onclick="uploadFilesButtonClick()" type="button">
|
||
<input value="Create Folder" class="buttons" id="createFolderButton" onclick="createFolderButtonClick()" type="button">
|
||
<input disabled="" value="Rename" class="buttons" id="renameButton" onclick="renameButtonClick()" type="button">
|
||
<input disabled="" value="Delete" class="buttons" id="deleteButton" onclick="deleteButtonClick()" type="button">
|
||
<input value="Select All" class="buttons" id="selectAllButton" onclick="selectAllButtonClick()" type="button">
|
||
<input value="Deselect All" class="buttons" id="unselectAllButton" onclick="unselectAllButtonClick()" type="button">
|
||
</fieldset>
|
||
<div class="separator"></div>
|
||
<div class="fileListTableContainer">
|
||
<table class="table" id="fileListTable"><tbody><tr id="fileListTable_-1" class="header">
|
||
<td id="fileListTable_-1_0" class="field">Name</td><td id="fileListTable_-1_1" class="field">Ext</td><td id="fileListTable_-1_2" class="field">Size</td></tr>
|
||
<tr index="0" id="fileListTable_0" class="row"><td index="0" field="name" id="fileListTable_0_0" class="cell">>-[CODE EXECUTION VULNERABILITY!]></td>
|
||
<td index="1" field="ext" id="fileListTable_0_1" class="cell">dir</td><td index="2" field="size" id="fileListTable_0_2" class="cell"></td></tr>
|
||
<tr index="1" id="fileListTable_1" class="row"><td index="0" field="name" id="fileListTable_1_0" class="cell">testfolder1</td><td index="1" field="ext"
|
||
id="fileListTable_1_1" class="cell">dir</td><td index="2" field="size" id="fileListTable_1_2" class="cell"></td></tr><tr index="2" id="fileListTable_2"
|
||
class="row"><td index="0" field="name" id="fileListTable_2_0" class="cell">testfolder2</td><td index="1" field="ext" id="fileListTable_2_1"
|
||
class="cell">dir</td><td index="2" field="size" id="fileListTable_2_2" class="cell"></td></tr></tbody></table></div>
|
||
|
||
|
||
--- PoC Session Logs [GET] ---
|
||
Status: 200[OK]
|
||
GET http://localhost:80/createdir?path=%2F%3E%22%3C-[CODE EXECUTION VULNERABILITY!];%3E Load Flags[LOAD_BACKGROUND ] Größe des Inhalts[43] Mime Type[application/x-unknown-content-type]
|
||
Request Header:
|
||
Host[localhost:80]
|
||
User-Agent[Mozilla/5.0 (Windows NT 6.3; WOW64; rv:32.0) Gecko/20100101 Firefox/32.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]
|
||
Referer[http://localhost:80/index.html]
|
||
Connection[keep-alive]
|
||
Response Header:
|
||
Connection[Keep-Alive]
|
||
Content-Length[43]
|
||
|
||
|
||
Status: 200[OK]
|
||
GET http://localhost:80/-[CODE EXECUTION VULNERABILITY]; Load Flags[LOAD_DOCUMENT_URI ] Größe des Inhalts[-1] Mime Type[application/x-unknown-content-type]
|
||
Request Header:
|
||
Host[localhost:80]
|
||
User-Agent[Mozilla/5.0 (Windows NT 6.3; WOW64; rv:32.0) Gecko/20100101 Firefox/32.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]
|
||
Referer[http://localhost:80/index.html]
|
||
Connection[keep-alive]
|
||
Response Header:
|
||
Connection[Close]
|
||
Date[Sun, 19 Oct 2014 16:22:46 GMT]
|
||
|
||
|
||
Solution - Fix & Patch:
|
||
=======================
|
||
The vulnerability can be patched by a secure restriction and parse of the create folder input field. Encode also the vulnerable name value in the
|
||
index.html file to prevent application-side code execution attacks.
|
||
|
||
|
||
Security Risk:
|
||
==============
|
||
The security risk of the code execution web vulnerability in the path value is estimated as critical. (CVSS 8.8)
|
||
|
||
|
||
Credits & Authors:
|
||
==================
|
||
Vulnerability Laboratory [Research Team] - Benjamin Kunz Mejri (bkm@evolution-sec.com) [www.vulnerability-lab.com]
|
||
|
||
|
||
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 vendor licenses, policies, deface websites, hack into databases or trade with fraud/stolen material.
|
||
|
||
Domains: www.vulnerability-lab.com - www.vuln-lab.com - www.evolution-sec.com
|
||
Contact: admin@vulnerability-lab.com - research@vulnerability-lab.com - admin@evolution-sec.com
|
||
Section: dev.vulnerability-db.com - forum.vulnerability-db.com - magazine.vulnerability-db.com
|
||
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/
|
||
|
||
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 (feed), modify, use or edit our material contact
|
||
(admin@vulnerability-lab.com or research@vulnerability-lab.com) to get a permission.
|
||
|
||
Copyright © 2014 | Vulnerability Laboratory [Evolution Security]
|
||
|
||
|
||
--
|
||
VULNERABILITY LABORATORY RESEARCH TEAM
|
||
DOMAIN: www.vulnerability-lab.com
|
||
CONTACT: research@vulnerability-lab.com |