According to the 2023 “Open Source Security and Risk Analysis” (OSSRA) report, 96% of commercial code contains open source material. In fact, 76% of the code that Black Duck® Audit Services scanned in 2022 was open source. Eighty-four percent of the scanned codebases contained at least one known open source vulnerability, and nearly half—48%—of the codebases contained high-risk vulnerabilities.
Software vulnerabilities are categorized into risk levels based on the potential impact of exploitation (taking advantage of a vulnerability to cause unintended or unanticipated behavior). The Common Vulnerability Scoring System (CVSS), an industry standard for ranking the characteristics and severity of software vulnerabilities, uses a score ranging from 0 to 10. The current specification for CVSS is version 3.1. Actual vulnerability risk levels may vary dependent on how your organization ranks risk, but in CVSS rankings risk levels range are
Open source projects typically have active security communities and mechanisms for reporting and addressing vulnerabilities, but it's crucial to stay informed about known vulnerabilities and apply the necessary patches or updates as they become available. Unlike most commercial code, open source uses a “pull” model when it comes to patches and updates, meaning that developers and end users have the responsibility to download and install the latest version of those components themselves.
This year, the 2023 OSSRA took a five-year look back at the data used for the report with the goal of identifying notable trends, some of which were surprising. Since 2019, for example, the number of high-risk vulnerabilities jumped as much as 557% in the retail and eCommerce sector. Likewise, the aerospace, aviation, automotive, transportation, and logistics sector saw a massive 232% increase in high-risk vulnerabilities.
Since 2019, 100% of the codebases from the Internet of Things (IoT) sector contained some amount of open source. The total amount of open source in each codebase has also increased over the years, up 35% since 2019, with 89% of the total code being open source code.
The IoT is an ideal representation of the benefits of open source; IoT organizations (for example, the smart devices offered by Ring, Amazon, and Nest) are under extreme pressure to produce new software, fast. In a fast-paced industry with strong competition, open source helps organizations remain quick on their feet—without it, they couldn’t keep up with the breakneck pace that software development demands.
The downside is the risk of introducing vulnerabilities. The IoT vertical has seen a 130% increase in high-risk vulnerabilities since 2019, and this year, 53% of its audited applications contained high-risk vulnerabilities (one of the higher percentages in OSSRA’s findings). This is particularly concerning when you think about the ubiquity of IoT devices and how so many aspects of our lives are connected to these devices. IoT devices power our lights on automated schedules, meaning they contain data about when we are home and when we are out. We use cameras that contain images of the inside of our homes, smart locks on our front doors, and baby monitors to watch over our children.
See the full 2023 OSSRA report for more details on open source trends from the past five years.
There is a myth that the proverbial developer can fix each and every vulnerability, but that’s just not possible if the management team hasn’t prioritized resolution. To work effectively, patch priorities should align with the business importance of the asset being patched, the criticality of the asset, and the risk of exploitation.
However, as noted earlier, it’s also important to understand that your patch policies for commercial software and open source components will differ. While commercial vendors can push updates and security information to you, open source patches originate from either the root project or the distribution channel where the component was originally obtained.
Only a fraction of open source vulnerabilities—such as those affecting Apache Struts or OpenSSL—are likely to be widely exploited. With that in mind, organizations should prioritize their mitigation efforts by using CVSS scores and Common Weakness Enumeration (CWE) information, as well as the availability of exploits, not only on “day zero” of a vulnerability disclosure but over the life cycle of the open source component.
Vulnerabilities in the National Vulnerability Database (NVD) have a base score that aids in calculating severity and can be used as a factor for prioritizing remediation. Software composition analysis (SCA) solutions such as Black Duck provide a temporal score in addition to the CVSS base, exploitability, and impact scores. Temporal scores are based on metrics that change over time due to external events. Remediation levels (Is there an official fix available?) and report confidence (Is this report confirmed?) additionally help temper the overall CVSS score to an appropriate level of risk.
CWE is a list of software or hardware weakness types that have security ramifications. A CWE tells developers which weakness leads to the vulnerability in question. This information can help clarify what you’re dealing with and adds one more piece of information to help assess the severity of the vulnerability. For example, a development team may prioritize a SQL injection differently than a buffer overflow or denial of service.
The existence of an exploit will raise the risk score and help remediation teams prioritize the highest-risk vulnerabilities first. Understanding whether there is an existing solution or workaround is another key piece of information to look to once you have assessed the overall risk. If you have two medium-risk vulnerabilities without exploits available, the final determination of which to fix first might come down to whether either of them has a solution or workaround available.
A comprehensive Software Bill of Materials (SBOM) is critical for effective vulnerability mitigation. To address open source vulnerabilities, you first need to know what open source you’re using and what exploits could impact their vulnerabilities.
Creating an SBOM is often the most daunting step for many development teams, which worry about the impact on productivity and the costs involved to manually create and maintain a detailed software inventory. And that’s a valid point: most experts feel it’s a near impossible task to accomplish a useful SBOM manually. Instead, consider using an SCA tool to automate the process. Most SCA solutions provide you with a comprehensive SBOM that lists all the open source components in your applications as well as those components’ licenses, versions, and patch status.
Public sources, such as the NVD, are a good place to find information on publicly disclosed vulnerabilities in open source software. Keep in mind, however, that there can be significant lags in data reporting, scoring, and actionability of the data in a CVE entry. Also, the format of NVD records makes it difficult to determine which versions of a given open source component are affected by a vulnerability.
Instead of relying solely on the NVD, look to a secondary source of information, such as newsfeeds or security advisories that provide earlier notifications of vulnerabilities. Ideally, they’ll also deliver security insight, technical details, and upgrade or patch guidance.