[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Download Lite v4.3 iOS - Persistent File Web Vulnerability



Title:
======
Download Lite v4.3 iOS - Persistent File Web Vulnerability


Date:
=====
2013-07-19


References:
===========
http://www.vulnerability-lab.com/get_content.php?id=1023


VL-ID:
=====
1023


Common Vulnerability Scoring System:
====================================
3.5


Introduction:
=============
Downloads Lite is a fully featured download manager that allows you to download 
files to your iPhone or 
iPod touch, you can then view/play the downloaded files right on your iPhone or 
iPod touch, or transfer 
them to your computer. Downloads Lite has all the essential features of the 
full version of Downloads 
except that it is limited to store up to 7 files.

( Copy of the Vendor Homepage: 
https://itunes.apple.com/en/app/downloads-lite-downloader/id349275540 )


Abstract:
=========
The Vulnerability Laboratory Research Team discovered a persistent input 
validation vulnerability in the Download Lite application (Apple iOS - iPad & 
iPhone).


Report-Timeline:
================
2013-07-19:    Public Disclosure (Vulnerability Laboratory)


Status:
========
Published


Affected Products:
==================
Apple AppStore
Product: Download Lite & Pro - Mobile Application 4.3


Exploitation-Technique:
=======================
Local


Severity:
=========
Medium


Details:
========
A persistent input validation web vulnerability is detected  in the Download 
Lite v4.3 application (Apple iOS - iPad & iPhone).
The bug allows an attacker (remote) to implement/inject malicious script code 
on the application side (persistent) of the device.

The vulnerability is located in the index file dir listing module of the 
web-server (http://localhost:800) when processing to 
request via POST method injected manipulated `file names`. The persistent 
script code will be executed in the main 
index file dir listing module when the service lists the new malicious injected 
filename as item.

Exploitation of the persistent web vulnerability requires low user interaction 
and a local privilege application & device account.
Successful exploitation of the vulnerability can lead to persistent session 
hijacking (customers), account steal via persistent 
web attacks, persistent phishing or stable (persistent) certificate mail 
notification context manipulation.

Vulnerable Application(s):
                                [+] Download Lite v4.3 - ITunes or AppStore 
(Apple)

Vulnerable Module(s):
                                [+] Add File

Vulnerable Parameter(s):
                                [+] filename

Affected Module(s):
                                [+] Index File Dir Listing


Proof of Concept:
=================
The persistent input validation web vulnerability can be exploited by local 
attackers with low required user interaction. For demonstration or reproduce ...


PoC: File Name - Persistent Script Code Injection

<body>
                <div id="main">
                <div id="header">
                <form action="/files" enctype="multipart/form-data" 
method="post" class="upload">
                <img src="Downloader_files/Icon-Small.png">     Downloader 
                </form>
                </div>
                <table border="0" cellpadding="0" cellspacing="0">
                        <thead>
                         <tr><th>Name</th><th class="del">Delete</th></tr>
                        </thead>
                        <tbody id="filelist">
                        <tr><td><a 
href="http://192.168.2.104:8080/files/Downloader.sqlite3"; 
class="file">Downloader.sqlite3<[PERSISTENT INJECTED SCRIPT CODE as 
FILENAME!]></a></td><td class="del">
<form action="/files/Downloader.sqlite3" method="post"><input name="_method" 
value="delete" 
type="hidden"><input name="commit" value="Delete" class="button" 
type="submit"></form></td></tr></tbody>
                </table>
                <script type="text/javascript" charset="utf-8">
                var now = new Date();
                $.getJSON("/files?"+ now.toString(),
                function(data){
                  var shadow = false;
                  $.each(data, function(i,item){
                    var trclass='';
                    if (shadow)
                      trclass= " class='shadow'";
                        encodeName = encodeURI(item.name).replace("'", "'");
                  $("<tr" + trclass + "><td><a href='/files/" + encodeName + "' 
class='file'>" + item.name + 
"</a></td>" + "<td class='del'><form action='/files/" + encodeName + "' 
method='post'><input name='_method' 
value='delete' type='hidden'/><input name=\"commit\" type=\"submit\" 
value=\"Delete\" class='button' /></td>" + "</tr>").appendTo("#filelist");
                    shadow = !shadow;
                  });
                });
                </script>
                <div id="footer">
    
                  <div class="content">
              
                  </div>
                </div>
                </div>     
</body></html>

Note: Like you can see in the encode name are the string bypass the validation 
because of the local (stored) location.
Attacker can inject the own script code by using the local device to execute 
when a remote user is processing to open the index listing.



Solution:
=========
The vulnerability can be patched by a secure encoding and parse of the file 
name in the main file dir listing index module of the application.


Risk:
=====
The security risk of the persistent input validation web vulnerability is 
estimated as medium(+).


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