Android 2.3 (Gingerbread) Data Stealing Vulnerability

By Xuxian Jiang, Associate Professor, Department of Computer Science, NC State University
While working on an Android-related research project, I came across a data stealing vulnerability in Android 2.3 (Gingerbread). This vulnerability is of the same nature with the one reported by Thomas Cannon during last November on Android 2.2 (Froyo). That particular bug is supposed to be fixed in Android 2.3 (Gingerbread) -- see the links here, here, here, and there.

Unfortunately, our finding here is that the patch contained in Android 2.3 is not an ultimate fix and can still be bypassed. We have a proof-of-concept exploit with a stock Nexus S phone and are able to successfully exploit the vulnerability to steal potentially personal information from the phone. The attack works by requiring the user to visit a malicious link. Based on the experiments with one of our Nexus S phones, we have leveraged the vulnerability to

I notified the Google Android Security Team on 01/26/2011 and was pleased/impressed to receive their response within 10 minutes. After that, we exchanged emails, including a critical piece of exploit code, to better understand the nature of the vulnerability. From the interaction, I can tell that they took this issue seriously and the investigation was started immediately without any delay. Also, I need to mention that this attack is not a root exploit, meaning it still runs within the Android sandbox and cannot grab all files on the system (only those on the /sdcard and a limited number of others).

The vulnerability is now confirmed and I was told that an ultimate fix will be included no later than the next major release of Android. We are not aware of any active exploitation of this issue.

For responsible disclosure, I will not publish the details of the vulnerability until an ultimate fix is out. However, I would like to share the common intention by informing users about the potential risk (and absolutely NOT about how to exploit), which is the reason why I created this webpage.

Before the ultimate fix is out, there are several ways we can take to mitigate this threat. For example, we can temporarily disable Javascript support in the Android browser or switch to a third-party browser for the time being (e.g., Firefox). We can also choose to unmount the /sdcard. But that may greatly affect the usability of the phone. Users are also encouraged to be cautious when viewing unfamiliar websites.

Finally, I'd like to thank Nick from the Android Security Team for verifying the presence of this vulnerability and keeping me informed as this fix progresses.

Updates:

Related links:

Last modified: January 28th, 2011