Bugtraq mailing list archives

Download Lite v4.3 iOS - Persistent File Web Vulnerability


From: Vulnerability Lab <research () vulnerability-lab com>
Date: Fri, 19 Jul 2013 22:32:30 +0100

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 () evolution-sec com)


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 () 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 © 2013 | Vulnerability Laboratory [Evolution Security]



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



Current thread: