The conference circuit can be a competitive arena, especially when there are multiple parallel streams.
Jack famously made unmodified ATMs that he bought off eBay cough up banknotes live on stage.
Those of us next door had to wait until the ovation and commotion died down before our presenter could continue lecturing to his meagre audience. (At least there was a good choice of seats.)
Exploit Disclosure Silly Season
So it’s not surprising that July tends to be Exploit Disclosure Silly Season.
Presenters at Black Hat and Def Con try to convince the media to tell the world that theirs is the talk to choose, stressing the severity of the hole they’ve found without giving too much away.
There’s nothing wrong with that: good talks based on solid reverse engineering aren’t easy to put together, and if you’re prepared to do a live demo to go with it, you’re entitled to your “jackpot” moment.
So, imagine that you’ve got exploit talks accepted at Black Hat and Def Con, that your hack is a remote code execution hole in the world’s most widespread mobile operating system, and, best of all…
…that the operating system component in which you found the bug is called “Stagefright”.
You can use a name like “Stagefright” in your press releases without being accused of hyperbole.
Unsurprisingly, then, that’s what researchers at Zimperium have done.
They found a bunch of security holes, now designated with seven different CVE numbers (CVE-2015-1538, -1539, -3824, -3826, -3827, -3828 and -3829).
It’s become the “Stagefright” hole.
Multimedia Messaging System
The bugs are in an unfortunate part of Android: a part that is used by the Multimedia Messaging System, or MMS.
Like SMS but with videos, sounds, pictures, and no annoying 160-character limit?
But most Android phones are still set up to receive MMS messages, and will process them automatically by default.
Technically speaking, an MMS arrives as a link, so that the actual content of the message (which might cost you money) is fetched only later on, when you decide that you want to look at it
That’s a bit like email clients that fetch only subject lines at first, so you can ignore or delete unimportant messages without racking up download charges.
But the default SMS/MMS apps in Android 4.4 (KitKat) and 5.x (Lollipop) are Messaging and Hangouts respectively, and their default configuration is to download MMS content in the background as soon as the messages arrive.
Remote Code Execution
Unfortunately, the bugs found by Zimperium allow shellcode – executable instructions disguised as harmless multimedia data – to take control of your device as soon as the content of a booby-trapped message is downloaded.
So, you may be able to trigger malicious activity as soon as a victim’s device receives your poisoned message, even if they later decide to delete it.
That’s what’s known as a Remote Code Execution (RCE) vulnerability, almost always the worst sort.
The bug has been around for some time, and Zimperium is claiming that 950,000,000 devices may be at risk.
(That precise sounding number seems to be simply a 95% vulnerability rate multiplied by a round one billion Androids.)
Google knows about the bugs, and has prepared patches.
Indeed, if you have a Google Nexus, and you have updated recently, it sounds as though you are already safe.
Sadly, we can’t be sure which other device vendors have already patched, unless they choose to say so, because Zimperium is keeping the exploits under wraps until Black Hat, when the whole world will find out about them (and presumably, how to exploit them) at the same time.
It also sounds as though rebuilding Android from the open source project (AOSP) won’t help yet.
Google told The Guardian:
This vulnerability was identified in a laboratory setting on older Android devices, and as far as we know, no one has been affected. As soon as we were made aware of the vulnerability we took immediate action and sent a fix to our partners to protect users.
As part of a regularly scheduled security update, we plan to push further safeguards to Nexus devices starting next week. And, we'll be releasing it in open source when the details are made public by the researcher at BlackHat.
In short, this sounds like a serious bug, and you should be looking for a patch as soon as you can get one.
What to do?
- Try asking your device vendor whether a patch is available already. You may be able to get ahead of the game.
- If you can’t get a patch right now, find out when to expect it so that you can apply it as soon as you can.
- If your messaging app supports it (Messaging and Hangouts both do), turn off Automatically retrieve MMS messages.
- If your device supports it, consider blocking messages from unknown senders if you haven’t already.
- If your SMS/MMS app doesn’t allow you to turn off Automatically retrieve messages, consider simply switching back to Android Messaging, which does.
Unless your digital lifestyle hinges on MMS, we think that you will be able to live without it, and that blocking the auto-download of potentially booby-trapped MMS content is a great start.
Of course, even if you’ve turned MMS auto-downloading off, you still need to avoid clicking on suspicious MMSes – doing so would initiate the potentially dangerous download anyway.
So, if you see an MMS from a sender who’s never communicated with you before, consider deleting it.
And don’t forget that “Stagefright” isn’t specific to MMS messaging, but rather to the way Android renders the sort of content typically delivered by MMS.
Firefox for Android, for example, has recently been updated; it too was apparently vulnerable via web pages containing booby-trapped videos.
So, keep your eyes peeled for those patches!