321 lines
No EOL
16 KiB
Text
321 lines
No EOL
16 KiB
Text
Document Title:
|
||
===============
|
||
File Hub v1.9.1 iOS - Multiple Web Vulnerabilities
|
||
|
||
|
||
References (Source):
|
||
====================
|
||
http://www.vulnerability-lab.com/get_content.php?id=1195
|
||
|
||
|
||
Release Date:
|
||
=============
|
||
2014-02-15
|
||
|
||
|
||
Vulnerability Laboratory ID (VL-ID):
|
||
====================================
|
||
1195
|
||
|
||
|
||
Common Vulnerability Scoring System:
|
||
====================================
|
||
9.1
|
||
|
||
|
||
Product & Service Introduction:
|
||
===============================
|
||
File Hub is a powerful and intuitive file manager for iOS. Read, Play, View many file formats, easily transfer files
|
||
between computer or cloud services and manage files via browser on computer. Voice recorder, text file editor and more.
|
||
|
||
(Copy of the Vendor Homepage: https://itunes.apple.com/en/app/file-hub-usb+wifi+bluetooth+cloud/id520299954 )
|
||
|
||
|
||
Abstract Advisory Information:
|
||
==============================
|
||
The Vulnerability Laboratory Research Team discovered multiple critical web vulnerabilities in the official File Hub v1.9.1 iOS application.
|
||
|
||
|
||
Vulnerability Disclosure Timeline:
|
||
==================================
|
||
2014-02-15: Public Disclosure (Vulnerability Laboratory)
|
||
|
||
|
||
Discovery Status:
|
||
=================
|
||
Published
|
||
|
||
|
||
Affected Product(s):
|
||
====================
|
||
Apple AppStore
|
||
Product: File Hub - Mobile Web Application 1.9.1
|
||
|
||
|
||
Exploitation Technique:
|
||
=======================
|
||
Remote
|
||
|
||
|
||
Severity Level:
|
||
===============
|
||
Critical
|
||
|
||
|
||
Technical Details & Description:
|
||
================================
|
||
1.1
|
||
A critical remote code execution web vulnerability has been discovered in the official File Hub v1.9.1 iOS mobile web-application.
|
||
The web vulnerability allows remote attackers to execute unauthorized system specific codes or commands to compromise the affected system/service.
|
||
|
||
The vulnerability is located in the `folder rename via edit` and `new folder` function of the file hub wifi application interface. Remote attackers
|
||
are able to inject own system specific codes as folder/path name to compromise the application. The code execution occurs after the inject via POST
|
||
method in the main index and the sub category folder. In the sub category folder the code executes in the header location of the application context.
|
||
In the main index the code execution occurs in the index file dir & item list. The security risk of the remote code execution vulnerability in the
|
||
new folder function is estimated as critical with a cvss (common vulnerability scoring system) count of 9.3(+)|(-)9.4.
|
||
|
||
Exploitation of the code execution vulnerability requires no user interaction or privileged mobile web-application user account with password.
|
||
Successful exploitation of the remote code execution vulnerability results in mobile application or connected device component compromise.
|
||
|
||
Request Method(s):
|
||
[+] [POST]
|
||
|
||
Vulnerable Module(s):
|
||
[+] New Folder (Add)
|
||
|
||
Vulnerable Parameter(s):
|
||
[+] folder name
|
||
|
||
Affected Module(s):
|
||
[+] Index File Dir Item List - Path Dir Location on Top
|
||
[+] Sub Category - Header Location to Path
|
||
|
||
|
||
1.2
|
||
A local file include web vulnerability has been discovered in the official File Hub v1.9.1 iOS mobile web-application.
|
||
The local file include web vulnerability allows remote attackers to unauthorized include local file/path requests or system
|
||
specific path commands to compromise the web-application or mobile device.
|
||
|
||
The web vulnerability is located in the `file name` value of the `Files to Upload` module POST method request. Remote attackers are
|
||
able to inject own files with malicious filename to compromise the mobile application. The attack vector is persistent and the request
|
||
method is POST. The local file/path include execution occcurs in the main file to path section after the refresh of the file upload.
|
||
The security risk of the local file include web vulnerability is estimated as high(+) with a cvss (common vulnerability scoring
|
||
system) count of 7.3(+)|(-)7.4.
|
||
|
||
Exploitation of the local file include web vulnerability requires no user interaction or privileged web-application user account with password.
|
||
Successful exploitation of the local web vulnerability results in mobile application or connected device component compromise by unauthorized
|
||
local file include web attacks.
|
||
|
||
Request Method(s):
|
||
[+] [POST]
|
||
|
||
Vulnerable Input(s):
|
||
[+] Files to Upload
|
||
|
||
Vulnerable Parameter(s):
|
||
[+] filename
|
||
|
||
Affected Module(s):
|
||
[+] Index File Dir Item List
|
||
[+] Sub Category File Dir Item List
|
||
[+] Index File or Item Edit
|
||
[+] Index File or Item Remove/Delete
|
||
|
||
|
||
Proof of Concept (PoC):
|
||
=======================
|
||
1.1
|
||
The remote code execution web vulnerability can be exploited by remote attackers without user interaction and privileged application user account.
|
||
For security demonstration or to reproduce the vulnerability follow the provided information and steps below.
|
||
|
||
|
||
PoC:
|
||
|
||
<table class="jtable"><thead><tr><th style="width: 1%;" class="jtable-command-column-header jtable-column-header-selecting">
|
||
<div class="jtable-column-header-container"><input type="checkbox"></div></th><th style="width: 12.1164%;" class="jtable-column-header">
|
||
<div class="jtable-column-header-container"><span class="jtable-column-header-text"></span><div class="jtable-column-resize-handler"></div></div></th>
|
||
<th style="width: 48.5344%;" class="jtable-column-header"><div class="jtable-column-header-container">
|
||
<span class="jtable-column-header-text">File Name</span><div class="jtable-column-resize-handler"></div></div></th>
|
||
<th style="width: 12.1164%;" class="jtable-column-header"><div class="jtable-column-header-container"><span class="jtable-column-header-text">File Size</span>
|
||
<div class="jtable-column-resize-handler"></div></div></th><th style="width: 19.4138%;" class="jtable-column-header"><div class="jtable-column-header-container">
|
||
<span class="jtable-column-header-text">Last modified</span><div class="jtable-column-resize-handler"></div></div></th><th style="width: 4.81902%;"
|
||
class="jtable-column-header"><div class="jtable-column-header-container"><span class="jtable-column-header-text"></span></div></th><th style="width: 1%;"
|
||
class="jtable-command-column-header"></th><th style="width: 1%;" class="jtable-command-column-header"></th></tr></thead><tbody><tr data-record-key="/BKM-Filter-Bypass-0ne"
|
||
class="jtable-data-row jtable-row-even"><td class="jtable-selecting-column"><input type="checkbox"></td><td><img src="File%20Hub_1-Dateien/folder.png" height="32px"
|
||
width="32px"></td><td><a style="cursor: pointer;" href="http://localhost:8080/">BKM-Filter-Bypass-0ne</a></td><td>N/A</td><td>11.02.14 20:01</td><td></td>
|
||
<td class="jtable-command-column"><button class="jtable-command-button jtable-edit-command-button" title="Rename file"><span>Rename file</span></button></td>
|
||
<td class="jtable-command-column"><button class="jtable-command-button jtable-delete-command-button" title="Delete"><span>Delete</span></button></td></tr>
|
||
<tr data-record-key="/test23" class="jtable-data-row"><td class="jtable-selecting-column"><input type="checkbox"></td><td><img src="File%20Hub_1-Dateien/folder.png"
|
||
height="32px" width="32px"></td><td><a style="cursor: pointer;" href="http://localhost:8080/">test23</a></td><td>N/A</td><td>11.02.14 20:01</td><td></td>
|
||
<td class="jtable-command-column"><button class="jtable-command-button jtable-edit-command-button" title="Rename file"><span>Rename file</span></button></td>
|
||
<td class="jtable-command-column"><button class="jtable-command-button jtable-delete-command-button" title="Delete"><span>Delete</span></button></td></tr>
|
||
<tr data-record-key="/test337+">[REMOTE CODE EXECUTION VULNERABILITY!]>" class="jtable-data-row jtable-row-even"><td class="jtable-selecting-column">
|
||
<input type="checkbox"></td><td><img src="File%20Hub_1-Dateien/folder.png" height="32px" width="32px"></td>
|
||
<td><a style="cursor: pointer;" href="http://localhost:8080/">test337 "><[REMOTE CODE EXECUTION VULNERABILITY!]"></a></iframe></a></td><td>N/A</td>
|
||
<td>11.02.14 20:01</td><td></td><td class="jtable-command-column"><button class="jtable-command-button jtable-edit-command-button" title="Rename file">
|
||
<span>Rename file</span></button></td><td class="jtable-command-column"><button class="jtable-command-button jtable-delete-command-button" title="Delete">
|
||
<span>Delete</span></button></td></tr></tbody></table>
|
||
|
||
|
||
--- PoC Session Logs [POST] ---
|
||
|
||
Status: 200[OK]
|
||
POST http://localhost:8080/rename.php Load Flags[LOAD_BYPASS_CACHE LOAD_BACKGROUND ] Gr<47><72>e des Inhalts[171] Mime Type[application/x-unknown-content-type]
|
||
Request Header:
|
||
Host[localhost:8080]
|
||
User-Agent[Mozilla/5.0 (Windows NT 6.3; WOW64; rv:26.0) Gecko/20100101 Firefox/26.0]
|
||
Accept[application/json, text/javascript, */*; q=0.01]
|
||
Accept-Language[de-de,de;q=0.8,en-us;q=0.5,en;q=0.3]
|
||
Accept-Encoding[gzip, deflate]
|
||
Content-Type[application/x-www-form-urlencoded; charset=UTF-8]
|
||
X-Requested-With[XMLHttpRequest]
|
||
Referer[http://localhost:8080/]
|
||
Content-Length[61]
|
||
Connection[keep-alive]
|
||
Pragma[no-cache]
|
||
Cache-Control[no-cache]
|
||
POST-Daten:
|
||
FileId[%2Ftest337[REMOTE CODE EXECUTION VALUE!]]
|
||
Name[localhost]
|
||
Response Header:
|
||
Accept-Ranges[bytes]
|
||
Content-Length[171]
|
||
Date[Tue, 11 Feb 2014 19:02:54 GMT]
|
||
|
||
|
||
Status: 200[OK]
|
||
GET http://localhost:8080/[REMOTE CODE EXECUTION VALUE!] Load Flags[LOAD_DOCUMENT_URI ] Gr<47><72>e des Inhalts[0] Mime Type[application/x-unknown-content-type]
|
||
Request Header:
|
||
Host[localhost:8080]
|
||
User-Agent[Mozilla/5.0 (Windows NT 6.3; WOW64; rv:26.0) Gecko/20100101 Firefox/26.0]
|
||
Accept[text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8]
|
||
Accept-Language[de-de,de;q=0.8,en-us;q=0.5,en;q=0.3]
|
||
Accept-Encoding[gzip, deflate]
|
||
Referer[http://localhost:8080/]
|
||
Connection[keep-alive]
|
||
Response Header:
|
||
Accept-Ranges[bytes]
|
||
Content-Length[337]
|
||
Date[Tue, 11 Feb 2014 19:02:54 GMT]
|
||
|
||
|
||
1.2
|
||
The local file include web vulnerability can be exploited by remote attackers without privileged web application user account and also
|
||
without user interaction. For security demonstration or to reproduce the vulnerability follow the provided information and steps below.
|
||
|
||
|
||
PoC:
|
||
|
||
<th style="width: 1%;" class="jtable-command-column-header"></th><th style="width: 1%;"
|
||
class="jtable-command-column-header"></th></tr></thead><tbody><tr data-record-key="/asdads/8f11a581d505d476cebd607056e4c167621c2e61.jpg"
|
||
class="jtable-data-row jtable-row-even"><td class="jtable-selecting-column"><input type="checkbox"></td><td>
|
||
<img src="File%20Hub_3-Dateien/jpg.png" height="32px" width="32px"></td><td><a style="cursor: pointer;"
|
||
href="http://localhost:8080/">%20>"\\>../[LOCAL FILE INCLUDE VULNERABILITY VIA qqfile FILENAME!]/.jpg</a></td><td>24 Kb</td><td>11.02.14 20:30</td><td>
|
||
|
||
|
||
--- PoC Session Logs [POST] ---
|
||
Status: 200[OK]
|
||
POST http://localhost:8080/upload.php Load Flags[LOAD_BYPASS_CACHE ]
|
||
Gr<EFBFBD><EFBFBD>e des Inhalts[16]
|
||
Mime Type[application/x-unknown-content-type]
|
||
|
||
Request Header:
|
||
Host[localhost:8080]
|
||
User-Agent[Mozilla/5.0 (Windows NT 6.3; WOW64; rv:26.0) Gecko/20100101 Firefox/26.0]
|
||
Accept[text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8]
|
||
Accept-Language[de-de,de;q=0.8,en-us;q=0.5,en;q=0.3]
|
||
Accept-Encoding[gzip, deflate]
|
||
X-Requested-With[XMLHttpRequest]
|
||
Cache-Control[no-cache]
|
||
Referer[http://192.168.2.109:8080/]
|
||
Content-Length[25068]
|
||
Content-Type[multipart/form-data; boundary=---------------------------13158193021484]
|
||
Cookie[jtable%2376270709page-size=10]
|
||
Connection[keep-alive]
|
||
Pragma[no-cache]
|
||
|
||
POST-Daten:
|
||
POST_DATA[-----------------------------13158193021484
|
||
Content-Disposition: form-data; name="uploader"
|
||
|
||
fineuploader
|
||
-----------------------------13158193021484
|
||
Content-Disposition: form-data; name="dirpath"
|
||
|
||
/test23
|
||
-----------------------------13158193021484
|
||
Content-Disposition: form-data; name="qquuid"
|
||
|
||
ed6448c1-abb5-4df8-9216-2adb17900f55
|
||
-----------------------------13158193021484
|
||
Content-Disposition: form-data; name="qqtotalfilesize"
|
||
|
||
24386
|
||
-----------------------------13158193021484
|
||
Content-Disposition: form-data; name="qqfile"; filename="\\>../[LOCAL FILE INCLUDE VULNERABILITY VIA qqfile FILENAME!]/.jpg"
|
||
Content-Type: image/jpeg
|
||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
|
||
|
||
PoC: Button Error in Menu - qqfile > filename (Edit & Delete)
|
||
|
||
<button class="jtable-command-button jtable-edit-command-button" title="Rename file"><span>Rename file</span></button></td>
|
||
<td class="jtable-command-column"><button class="jtable-command-button jtable-delete-command-button" title="Delete">
|
||
<span>Delete</span></button></td></tr><tr data-record-key="/test337 "><\\>../[LOCAL FILE INCLUDE VULNERABILITY VIA qqfile FILENAME!]/.jpg"
|
||
class="jtable-data-row jtable-row-selected"><td class="jtable-selecting-column"><input type="checkbox"></td><td><img src="/webroot/images/fileicons/folder.png"
|
||
height="32px" width="32px"></td><td><a style="cursor: pointer;" href=".">test337 "><\\>../[LOCAL FILE INCLUDE VULNERABILITY VIA qqfile FILENAME!]/.jpg">
|
||
</a></a></td>
|
||
|
||
|
||
Solution - Fix & Patch:
|
||
=======================
|
||
1.1
|
||
The remote code execution vulnerability can be patched by a secure restriction and parse of the vulnerable rename and folder name values.
|
||
|
||
1.2
|
||
The local file include web vulnerability can be patched by a secure parse and encode of file names. Ensure also that the values in the index and
|
||
sub category item list are prepared with a secure validation to prevent file include or arbitrary file upload attacks.
|
||
|
||
|
||
Security Risk:
|
||
==============
|
||
1.1
|
||
The security risk of the remote code execution web vulnerability is estimated as critical.
|
||
|
||
1.2
|
||
The security risk of the local file include web vulnerability is estimated as high.
|
||
|
||
|
||
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: www.vulnerability-lab.com/dev - 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
|
||
|
||
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 <20> 2014 | Vulnerability Laboratory [Evolution Security]
|
||
|
||
--
|
||
VULNERABILITY LABORATORY RESEARCH TEAM
|
||
DOMAIN: www.vulnerability-lab.com
|
||
CONTACT: research@vulnerability-lab.com |