Dark Reading is part of the Informa Tech Division of Informa PLC

This site is operated by a business or businesses owned by Informa PLC and all copyright resides with them.Informa PLC's registered office is 5 Howick Place, London SW1P 1WG. Registered in England and Wales. Number 8860726.

Application Security

03:40 PM

Nearly Half of Popular Android Apps Built With High-Risk Components

Information leakage and applications asking for too many permissions were also major issues, according to a survey of more than 3,300 popular mobile applications.

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.

Related Content:

Android App Infects Millions of Devices With a Single Update

Special Report: Building an Effective Cybersecurity Incident Response Team

New From The Edge: Cartoon Caption Winner: In Hot Water

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."

Veteran technology journalist of more than 20 years. Former research engineer. Written for more than two dozen publications, including CNET News.com, Dark Reading, MIT's Technology Review, Popular Science, and Wired News. Five awards for journalism, including Best Deadline ... View Full Bio

Recommended Reading:

Comment  | 
Print  | 
More Insights
Newest First  |  Oldest First  |  Threaded View
Cyberattacks Are Tailored to Employees ... Why Isn't Security Training?
Tim Sadler, CEO and co-founder of Tessian,  6/17/2021
7 Powerful Cybersecurity Skills the Energy Sector Needs Most
Pam Baker, Contributing Writer,  6/22/2021
Microsoft Disrupts Large-Scale BEC Campaign Across Web Services
Kelly Sheridan, Staff Editor, Dark Reading,  6/15/2021
Register for Dark Reading Newsletters
White Papers
Current Issue
The State of Cybersecurity Incident Response
In this report learn how enterprises are building their incident response teams and processes, how they research potential compromises, how they respond to new breaches, and what tools and processes they use to remediate problems and improve their cyber defenses for the future.
Flash Poll
How Enterprises are Developing Secure Applications
How Enterprises are Developing Secure Applications
Recent breaches of third-party apps are driving many organizations to think harder about the security of their off-the-shelf software as they continue to move left in secure software development practices.
Twitter Feed
Dark Reading - Bug Report
Bug Report
Enterprise Vulnerabilities
From DHS/US-CERT's National Vulnerability Database
PUBLISHED: 2021-06-22
Trusty TLK contains a vulnerability in the NVIDIA TLK kernel function where a lack of checks allows the exploitation of an integer overflow on the size parameter of the tz_map_shared_mem function.
PUBLISHED: 2021-06-22
Trusty TLK contains a vulnerability in the NVIDIA TLK kernel�s tz_handle_trusted_app_smc function where a lack of integer overflow checks on the req_off and param_ofs variables leads to memory corruption of critical kernel structures.
PUBLISHED: 2021-06-22
Trusty TLK contains a vulnerability in the NVIDIA TLK kernel where an integer overflow in the tz_map_shared_mem function can bypass boundary checks, which might lead to denial of service.
PUBLISHED: 2021-06-22
Trusty contains a vulnerability in TSEC TA which deserializes the incoming messages even though the TSEC TA does not expose any command. This vulnerability might allow an attacker to exploit the deserializer to impact code execution, causing information disclosure.
PUBLISHED: 2021-06-22
Trusty contains a vulnerability in all TAs whose deserializer does not reject messages with multiple occurrences of the same parameter. The deserialization of untrusted data might allow an attacker to exploit the deserializer to impact code execution.