Technical details and a proof-of-concept exploit have been published for a recently announced Android vulnerability that potentially affects millions of devices and allows attackers to turn legitimate apps into Trojan programs.
Last Wednesday security researchers from mobile security firm Bluebox Security announced that a vulnerability exists in the way Android verifies the digital signatures of application packages (APKs), allowing attackers to modify them without breaking their digital signatures.
The Bluebox researchers only provided a high-level description of the bug and its potential impact, keeping the technical details for an upcoming presentation at the Black Hat security conference in Las Vegas.
Since then, developers of CyanogenMod, a community-built Android firmware version, have identified where the bug is located and even merged a patch from Google into their code.
Using the information from the public CyanogenMod bug entry, Pau Oliva Fora, a mobile security engineer at security firm ViaForensics, developed a proof-of-concept Linux shell script that can be used to modify an app in a way that exploits the flaw. The code makes use of the APKTool program and was released Monday on Github.
"It's a problem in the way Android handles APKs that have duplicate file names inside," Oliva Fora said Tuesday via email. "The entry which is verified for signature is the second one inside the APK, and the entry which ends up being installed is the first one inside the APK -- the injected one that can contain the malicious payload and is not checked for signature at all."
The Bluebox researchers said last week that Google made changes to Google Play in order to detect apps modified in this way and that a patch has already been shared with device manufacturers. This only leaves users who install applications from sources other than Google Play -- a process known as sideloading -- potentially vulnerable.
"I think it's a very serious vulnerability, and everyone with an unpatched device should be cautious about what they install, especially if it doesn't come from an official distribution channel," Oliva Fora said.
The vulnerability presents benefits for Android malware authors because it allows them to add malicious code to legitimate app packages and have them properly update the original applications if they are installed on the targeted devices, the researcher said.
Android malware authors are already distributing malicious apps that masquerade as popular games or applications though a variety of methods, including through third-party app stores. This vulnerability could make this social engineering technique more efficient.
Fortunately, APKs modified in this way should be very easy to detect by antivirus vendors, Oliva Fora said. "They just have to look for duplicate file names inside an APK file."
It would have been better if technical details about the vulnerability had not been disclosed until Black Hat, as Bluebox Security originally intended, the researcher said. However, "I'm sure that Jeff Forristal's [the Bluebox CTO] Black Hat talk will not disappoint, even if the details of the vulnerability are known," he said.
"A coordinated disclosure usually makes sure most users are safe when the details of the vulnerability are disclosed, but due to the nature of the Android ecosystem, vendors and carriers will not deploy a patch for abandoned devices and sadly many devices will remain vulnerable forever," Oliva Fora said.