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

06:30 PM

Open Source Flaws Take Years to Find But Just a Month to Fix

Companies need to embrace automation and dependency tracking to keep software secure, GitHub says in its annual security report.

Developer mistakes and indirect dependencies are the two main sources of vulnerabilities in open source software projects, which together are expected to cause the majority of security alerts in the next year, according to GitHub's annual Octoverse report, published today.

Using data collected from its own platform, GitHub found the vast majority of projects used open source software, from a low of 65% for Java applications to a high of 94% for JavaScript applications. On average, a vulnerability goes undiscovered for 218 weeks, or more than four years, while it takes just over a month to fix the average vulnerability.

Related Content:

Researchers Scan for Supply-Side Threats in Open Source

The Changing Face of Threat Intelligence

New on The Edge: Loyal Employee ... or Cybercriminal Accomplice?

Developers must anticipate the need to fix issues quickly and improve open source security, rather than finding ways to reduce reliance on open source, says Maya Kaczorowski, senior director of product management for GitHub.

"Rather than try to offset the use of open source, embrace it," Kaczorowski says. "Increased transparency and information about what you're consuming in your software supply chain allows you to feel more confident that you're appropriately addressing risks, such as security vulnerabilities, that you may be consuming."

For the report, GitHub scanned more than 45,000 active repositories on its service that use one of six major open source software ecosystems — such as Node Package Manager (NPM) for JavaScript or RubyGems for Ruby — and have their dependency-graph feature turned on. The reliance on open source projects leads to vulnerabilities trickling down from one open source library to the programs that depend on it, with an average of 59% of active repositories likely to receive a vulnerability alert from GitHub's Dependabot service in the next year.

While the average program in the languages tracked by GitHub has fewer than a dozen dependencies — 10 for JavaScript, eight for Java, and six for Python, for example — those packages often rely on other open source libraries. JavaScript, for example, had a whopping 683 transitive dependencies, on average, compared with 70 for PHP and 68 for Ruby — the next two highest dependency counts.

Developers should focus on minimizing their applications' attack surface area by removing unnecessary dependencies and updating their dependencies regularly, Kaczorowski says.

"Proactively, security teams should help developers shift left to catch security issues early by looking for security issues before they are introduced," she says. "All developers, not just those using NPM, should keep the dependencies up to date and prune dependencies that aren't needed. You don't have to patch something that's not in your environment."

In addition, developers should use security tests and automated tools to catch vulnerabilities in their code, and they should also watch out for malicious attempts to insert backdoors into their projects.

A survey of 521 random samples of vulnerabilities found that 17% were maliciously inserted into software projects, but those only accounted for 0.2% of malicious activity because those projects were rarely used, accordin to the GitHub report. Every so often, however, attackers are successful in inserting code into an open source library, and if other projects rely on that library, it can lead to widespread impact. 

Yet, by far, the vast majority of security impact was created by developer mistakes that resulted in vulnerabilities. 

"A big part of the challenge of maintaining trust in open source is assuring downstream consumers of code integrity and continuity in an ecosystem where volunteer commit access is the norm," GitHub states in the report. "This requires better understanding of a project's contribution graph, consistent peer review, commit and release signing, and enforced account security through multifactor authenticatition (MFA)."

The report also highlights the success of GitHub's Security Advisory service, which gives projects a place to post security advisories about newly discovered flaws. While the advisory service started only 18 months ago, after GitHub officially became a CVE Numbering Authority (CNA) for the Common Vulnerability Enumeration (CVE) project, the service has already accounted for more than 3,000 new vulnerability reports

"For projects that didn't have existing disclosure lists or processes, this is a marked improvement," Kaczorowski says. "We want to avoid purposely or accidentally reporting security issues where they might get lost or be hard to find, and instead enable users to come to a single place to see what affects their environment."

JavaScript and NPM accounted for 26% of the vulnerabilities reported, Java and the Maven ecosystem accounted for 24%, and Python and the Python Package Index (PyPI) accounted for nearly 20%. The NPM ecosystem produced the largest share of critical advisories, about 14%.

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
Ransomware Is Not the Problem
Adam Shostack, Consultant, Entrepreneur, Technologist, Game Designer,  6/9/2021
How Can I Test the Security of My Home-Office Employees' Routers?
John Bock, Senior Research Scientist,  6/7/2021
New Ransomware Group Claiming Connection to REvil Gang Surfaces
Jai Vijayan, Contributing Writer,  6/10/2021
Register for Dark Reading Newsletters
White Papers
Cartoon Contest
Write a Caption, Win an Amazon Gift Card! Click Here
Latest Comment: This comment is waiting for review by our moderators.
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-14
A buffer overflow vulnerability in SonicOS allows a remote attacker to cause a Denial of Service (DoS) by sending a specially crafted request. This vulnerability affects SonicOS Gen5, Gen6, Gen7 platforms, and SonicOSv virtual firewalls.
PUBLISHED: 2021-06-14
magento-scripts contains scripts and configuration used by Create Magento App, a zero-configuration tool-chain which allows one to deploy Magento 2. In versions 1.5.1 and 1.5.2, after changing the function from synchronous to asynchronous there wasn't implemented handler in the start, stop, exec, an...
PUBLISHED: 2021-06-14
net/can/bcm.c in the Linux kernel through 5.12.10 allows local users to obtain sensitive information from kernel stack memory because parts of a data structure are uninitialized.
PUBLISHED: 2021-06-14
Cross-site Scripting (XSS) vulnerability in the main dashboard of Ellipse APM versions allows an authenticated user or integrated application to inject malicious data into the application that can then be executed in a victim’s browser. This issue affects: Hitachi ABB Power Grids ...
PUBLISHED: 2021-06-14
Improper Input Validation vulnerability in Hitachi ABB Power Grids Relion 670 Series, Relion 670/650 Series, Relion 670/650/SAM600-IO, Relion 650, REB500, RTU500 Series, FOX615 (TEGO1), MSM, GMS600, PWC600 allows an attacker with access to the IEC 61850 network with knowledge of how to reproduce the...