This article is more than 1 year old
Beware the IDEs of Android: three biggies have vulnerabilities
Android Studio, Eclipse, and IntelliJ IDEA stabbed in the back by an XML parser
Developers using the Android Studio, Eclipse, and IntelliJ IDEA have been advised to update their IDEs against serious and easily-exploitable vulnerabilities.
Check Point Software Technologies went public with the bugs on December 4, but said it made its discoveries in May 2017.
Initially, Check point's four researchers (Eran Vaknin, Gal Elbaz, Alon Boxiner, and Oded Vanunu) went looking for possible bugs in the APKTool reverse-engineering app, finding an XML External Entity (XXE) bug.
“The configured XML parser of APKTool does not disable external entity references when parsing an XML file within the program”, they wrote, noting the bug affected both its “Build” and “Decompile” functions, attackable using a malicious AndroidManifest.xml
file.
Realising the enormity of this vulnerability to the Android developer and researcher community, we extended our research to the vulnerable XML parser called “DocumentBuilderFactory”, which is being used in APKTool project.
What makes this capital-B “Bad” is that the parser was also present in the Eclipse, IntelliJ and Android Studio integrated development environments (IDEs).
All the attacker need to is trick the IDE into loading a malicious XML manifest file, the researchers said.
Furthermore, an attacker doesn't need to hit their victim directly, by “injecting a malicious AAR (Android Archive Library) containing our XXE payload into repositories … Cloning the infected AAR from the repository by the victim would allow the attacker to steal sensitive files such as configuration files, source code, company digital proprietary and much more from the OS file system.”
But wait, there's more: another vulnerability in APKTool allowed the researchers to executive malicious code on a victim's PC, by manipulating a the APKTOOL.YML
configuration file.
Check Point noted that the IDEs and tools have since been patched. ®