Remote USSD Attack - Prevention - dylan//posterous
An interesting (and potentially devestating) remote attack against at least some Samsung Android phones (including the Galaxy S3) was disclosed recently.
In brief it works like this:
Phones support special dialing codes called USSDs that can display certain information or perform specific special features. Among these are common ones (*#06# to display IMEI number) and phone specific ones (including, on some phones, a factory reset code).
There is a URL scheme prefix called tel: which can, in theory, be used to hyperlink to phone numbers. The idea being that clicking on a tel: URL will initiate the phone's dialer to call that number.
In some phones the dialer will automatically process the incoming number. If it's a USSD code then it will be handled exactly as if it had be keyed in manually - requiring no user intervention to execute.
A tel: URL can be used by a hostile website as the SRC for an iframe (or potentially other resources like stylesheets or scripts I guess). It may then be loaded and acted upon with no user intervention at all.
This basicly allows you to completely wipe most Samsung android phones (including the S3) remotely by luring the user to your website (where the code to reset the device is executed upon loading the website). For the S3 it only works if the user is still on the default android version and hasn't upgraded to Jelly Bean. The default browser must be used too.
So if you recently got an S3, upgrade it to Jelly bean!