Exclusive Facebook's iOS and Android clients don't encrypt users' logon credentials, leaving them languishing in a folder accessible to other apps or USB connections.
A rogue application, or two minutes with a USB connection, are all that's needed to lift the temporary credentials from either device – a problem compounded by Facebook's idea of "temporary" as lasting beyond the year 4000. In the case of iOS, one can even lift the data from a backup, enabling the hacker to attach to a Facebook account and access Facebook applications for fun and profit.
That's according to Reg reader Gareth Wright, who stumbled across the file and tested it to see if it really was that easy to pretend to be someone else. Turns out it is, and after knocking out a proof of concept (a high-score editor for jailbroken iOS devices) which lifted "several thousand" IDs, Gareth deleted the collected data and dutifully reported the matter to Facebook.
Turns out Facebook was already aware of the problem and working on a fix – though it won't say how long that's going to take or what customers should do in the meantime.
iOS won't allow applications to read data stored by other applications, and so offers a slightly higher level of protection than Android, which relies on the user's discretion. That's why the proof of concept ran on a PC and connected over USB; a local application would only work on jailbroken devices. But it seems that any Android application granted permission to "modify/delete SD Card" could do the same thing.
iOS games often store their high scores in plaintext, and rely on the OS for protection, and some are clearly storing Facebook-connection tokens in the same place. Those tokens are only valid for 60 days, but it turns out that the Facebook application itself stores a similar token – which lasts until the first of January 4001. Copy that token onto another device, and you're in.
It's worth remembering that Facebook isn't just about social networking these days, get into someone's account and you can use their credits to vote on Big Brother, and with Facebook snatching an increasing share of personal communications there are numerous opportunities for identity theft.
Sticking an unknown USB cable into your device is always risky, and those who download dodgy software from unreliable sources sometimes deserve what they get, but Facebook really shouldn't be storing unencrypted credentials in accessible memory unless they're locked to the device or otherwise secured, and hopefully that's what they'll be doing really soon. ®