[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Old Habits Die Hard: Cross-Zone Scripting in Dropbox & Google Drive Mobile Apps
Recently, I discovered a security vulnerability in several file-sharing apps:
DropBox iOS app, DropBox Android app and Google Drive iOS app.
Exploiting this vulnerability, an attacker could steal arbitrary files
from a DropBox / Google Drive user by tricking him into viewing a malicious
HTML file inside the mobile app.
The full blog post, including the advisories, can be found at:
A significant feature of file-sharing apps is allowing a user to view either
his files or files shared with him. The apps achieve this by using an embedded
browser (using the UIWebView/WebView classes in iOS/Android respectively)
to display the contents of these files. Amongst numerous file types,
these apps allow the user to view HTML files in a rendered format.
To do so, these apps use an embedded browser window to render the
locally stored HTML file.
The method in which these apps render an HTML file has two side effects:
2. The HTML content is loaded in a privileged file zone
valuable information from the DOM of the embedded browser, an attack dubbed
"Cross-Application Scripting" (XAS). However, because these apps load the HTML
file from a privileged zone such as
same permissions as the app.
By exploiting this vulnerability, an attacker could read and retrieve files
that the apps themselves can access. For instance, previously cached files,
application configuration files, the device's address book, etc.
Furthermore, additional access can be achieved pending on the OS:
- In iOS, read access to the user's DropBox unencrypted credentials
(../Library/Preferences/com.getdropbox.Dropbox.plist). Having access to
the user's credentials allows the attacker to retrieve arbitrary files from
the user's account as well as to persist the attack by modifying other
- In Android, read access to the device's SD card is possible if the app
has permission to do so.
However, when the user has finished viewing the file (e.g. pressed the
code execution is suspended until the user views the file again.
4 Vulnerable versions
- Version 1.4.6 (iOS)
- Version 2.0.1 (Android)
- Version 1.0.1 (iOS)
Discovered by Roi Saltzman <roisaltzman () [google's mail server] com>
I'd like to thank the DropBox / Google security response teams for
the quick fixes!