The security firm Check Point said it had begun monitoring vulnerable applications since the patch was released.
Explaining the functions of the library, Check Point researchers Aviran Hazum and Jonathan Shimonovich wrote: "The Play Core Library is your app’s runtime interface with the Google Play Store. Some of the things you can do with Play Core include: download additional language resources; manage delivery of feature modules; manage delivery of asset packs; trigger in-app updates; and request in-app reviews."
They said the vulnerability could be briefly described this way: "Inside the sandbox of each application, there are two folders: one for 'verified' files received from Google Play, and another for 'non-verified' files. Files downloaded from Google Play services go into the verified folder, while files downloaded from other sources are sent to the non-verified folder. When a file is written to the verified folder, it interacts with the Google Play Core library which loads and executes it.
"The vulnerability lies within the combination of the two features mentioned above, and also uses file traversal, a concept as old as the Internet itself. When a third-party source pushes a file into another application, it needs to supply a path for the file to be written to. If an attacker uses file traversal (../verified_splits/my_evil_payload.apk), the payload is written to the verified folder, and is automatically loaded into the vulnerable application and executed within its scope."
Some of the better-known apps that use this library are Google Chrome, Facebook, Instagram, WhatsApp, SnapChat, Booking and Edge.
The researchers said if a malicious application was able to exploit the vulnerability, then it would be able to run code inside many popular apps with the same permissions as the app itself.
"The possibilities are limited only by our creativity," Hazum and Shimonovich said, citing the following examples:
- Injection of code into banking applications to grab credentials, and at the same time have SMS permissions to steal the two-factor authentication codes.
- Injection code into business applications to gain access to corporate resources.
- Injection of code into social media applications to spy on the victim, and use location access to track the device.
- Injection of code into instant messaging apps to grab all messages, and possibly send messages on the victim’s behalf.
In September, 13% of the Google Play applications analysed used the library, with 8% having a vulnerable version, the duo found.
The following apps were found to have a vulnerable version of the library: Viber, Booking (both now patched), Cisco Teams (patched on 3 December), Yango Pro (Taximeter), Moovit (patched on 3 December), Grindr (patched on 3 December), OKCupid, Microsoft Edge, Xrecorder and PowerDirector.
"As our demo video [above] shows, this vulnerability is easy to exploit," Hazum and Shimonovich said. "All you need to do is to create a 'hello world' application that calls the exported intent in the vulnerable app to push a file into the verified files folder with the file-traversal path.
"Then sit back and watch the magic happen. To demonstrate targeting a specific application, we took a vulnerable version of the Google Chrome application and created a dedicated payload to grab its bookmarks."