Bugtraq mailing list archives

File Hub v1.9.1 iOS - Multiple Web Vulnerabilities


From: Vulnerability Lab <research () vulnerability-lab com>
Date: Sat, 15 Feb 2014 23:35:55 +0100

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öß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öß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öß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
ÿØÿà


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 © 2014 | Vulnerability Laboratory [Evolution Security]

-- 
VULNERABILITY LABORATORY RESEARCH TEAM
DOMAIN: www.vulnerability-lab.com
CONTACT: research () vulnerability-lab com



Current thread: