Almost all of the most popular Android applications use open source components, but many of those components are outdated and have at least one high-risk vulnerability, according to an analysis of 3,335 mobile applications published on Thursday by Synopsys.
The software-security firm analyzed the most popular Android apps in 18 categories — including gaming, financial, and productivity apps — finding that 98% used open source code, with an average of 20 components per application. Nearly half of applications (46%) contained an open source component with a high-risk vulnerability, and almost three-quarters of the known vulnerabilities were at least two years old, according to the report.
"In other words, for the most part, these are not new issues, and developers simply aren't considering the security of the open source components they use to build their apps," the report states.
Synopsys defines "high risk" as issues that have already been actively exploited or have a documented proof-of-concept exploit. Less than 5% of those high-risk issues have no fix currently available, according to Synopsys.
The report is a warning for mobile-application developers to follow secure coding practices, track the open source components they use in development, and update their code regularly, says Jonathan Knudsen, a technical evangelist at Synopsys.
"Software's weird," he says. "Normally, people say, 'If it ain't broke, don't fix it,' but with software, if it ain't broke, it most likely will be tomorrow. So you have to keep an eye on the things that you put into your app, and when new vulnerabilities are discovered — which they are inevitably — you have to know what is in your application so you can update your components and keep your users and your app safe."
The analysis of the most popular free and paid applications on the Google Play store underscores that even the developers of popular applications do not incorporate the latest open source components into their software applications.
The 3,335 applications included 315 top paid apps, 300 top-grossing apps, 158 productivity apps, 257 top-grossing games, 107 banking apps, and 159 educational apps, as well as Android apps in a dozen other popular categories. While 63% of all applications had vulnerable components, 96% of free games, 94% of top-grossing games, 88% of banking apps, and 84% of budgeting apps had vulnerable components.
Because online services and mobile applications have become more important during the pandemic, these issues need to be fixed, said Jason Schmitt, general manager of the Synopsys Software Integrity Group, in a statement.
"Today, mobile app security is especially important when you consider how the pandemic has forced many of us — including children, students, and large portions of the workforce — to adapt to increasingly mobile-dependent, remote lifestyles," Schmitt said. "Against the backdrop of these changes, this report underscores the critical need for the mobile app ecosystem to collectively raise the bar for developing and maintaining secure software."
While the existence of an exploit does not necessarily indicate the level of risk the applications pose for users, about 1% of the 3,137 vulnerabilities identified in the app are remote code execution (RCE) flaws, according to Synopsys.
The top vulnerable components were OpenSSL in eight of the 18 application categories, SQLite in three application categories, and Curl in another three categories. OpenJPEG, the Linux kernel, and OpenCV round out the list.
Software security issues extended beyond just the use of vulnerable and outdated open source components. Information leakage and applications asking for too many permissions were both major issues, Synopsys stated. The applications exposed hundreds of thousands of URLs, tens of thousands of IP addresses, and thousands of e-mail addresses, as well as more sensitive information, such as OAuth tokens, asymmetric private keys, AWS keys, and JSON Web Tokens.
The applications also required, on average, 18 different device permissions, more than four sensitive permissions, and three permissions that Google has classified as "not intended for third-party use," the company said. The worst offenders appear to be those applications that deal with money: Budgeting apps, payment apps, and banking apps required 24 permissions or more.
Unfortunately, users do not have much recourse except to uninstall the application until such issues are fixed, says Synopsys's Knudsen
"From a user's perspective, there is not a lot that they can do," he says. "It's important to raise awareness and try to make sure that, yes, it is a great idea to use open source to build software, but you have to manage the components that you are using."