Research reveals where 95% of open source vulnerabilities lie
New research from Endor Labs offers a view into the rampant but often unmonitored use of existing open-source software in application development and the dangers arising from this common practice.
Open source vulnerabilities
As just one example, the research reveals that 95% of all vulnerabilities are found in transitive dependencies – open-source code packages that developers do not select, but are indirectly pulled into projects.
This is the first report from Station 9, a research capability developed by Endor Labs that brings together researchers, academics and thought leaders from around the world.
“In this environment, open source software is the backbone of our critical infrastructure – but even veteran developers and executives are often surprised to learn 80% of the code in modern applications comes from existing OSS,” said Varun Badhwar, CEO of Endor Labs.
“This is a huge arena, yet it’s been largely overlooked. If the reuse of open source code is to live up to its potential, then security needs to move to the top of the priority list,” Badhwar added.
The problem isn’t necessarily the widespread use of existing open-source code in new applications; it is that only a small sampling of these software dependencies are actually selected by the developers involved.
The rest are “transitive,” or indirect dependencies automatically pulled into the codebase. This sets the stage for vulnerabilities, potential and identifiable, affecting both the worlds of security and development in equal measure.
Key report findings
Among other findings, the report reveals:
- The vast majority of all vulnerabilities, 95%, are indeed found in transitive dependencies, making it very difficult for developers to assess the true impact of these issues or whether they’re even reachable.
- A comparison between the two most popular community initiatives to identify critical projects–Census II and OpenSSF Criticality Scores–reveals that determining criticality is far from simple. In fact, 75% of the packages in Census II have a Criticality Score of less than 0.64; organizations have to decide for themselves which open-source projects are critical.
- Dependency confusion has been a major benefit to the bad guys in recent supply chain attacks. At the same time, the risk indicators covered in widely used initiatives typically can’t flag these attacks.
- Trouble ahead – 50% of the most used Census II packages didn’t have a release in 2022, and 30% had their latest release before 2018 – these can cause serious security and operational issues in the future.
- New does not mean secure – When upgrading to the latest version of a package, there’s still a 32% chance it will have known vulnerabilities.
- Reachability is the most important criteria when prioritizing; doing it based on security metrics alone (such as CVSS scores) or ignoring vulnerabilities in test dependencies only reduces the likelihood of a vulnerability by 20%.