WP Top 5 Vulnerable Open Source Components.pdf
Our Top 5 Popular Open Source Components and Their Vulnerabilities
Overview
Sonatype operates at the forefront of open source software contribution and maintenance. With over a decade of active involvement in projects such as Maven Central, we continually work to be a leader in the open source community. Our pivotal role in managing the Central Repository, servicing billions of component releases to developers globally, demonstrates our commitment to supporting today’s software-driven world.
Open source components form the foundation of modern software development. Our research findings, outlined in the 2022 State of the Software Supply Chain report, reveal remarkable growth in the supply of open source component releases. Download volume of components across the four major ecosystems projected to surpass 3 trillion downloads overall last year. But with this boom in open source component usage, there has been a 742% average annual increase in software supply chain attacks over the past three years.
In terms of open source components, software dependencies can equal open source vulnerabilities. In 2022, the number of open source dependencies downloaded and integrated into software grew by an estimated average of 33% across all monitored ecosystems (Maven, PyPI, NuGet, and npm).
Our research also surfaced notable statistics such as:
• 6 out of every 7 project vulnerabilities come from transitive dependencies
• 1.2 billion vulnerable dependencies are downloaded every month
• 96% of known vulnerable open source components already have a fix available
To empower your organization and developers in leveraging open source components to drive innovation while mitigating risk, you need precision and complete intelligence. Tools lacking visibility and accuracy fall short in today’s fast-paced software development environment. Inaccurate or incomplete data exposes organizations to vulnerabilities, licensing challenges, and quality issues, leading to increased costs and diminished innovation.
At Sonatype, we’ve harnessed the power of precise identification to enable organizations to error-proof their software supply chains. By leveraging our 10+ years of experience and conducting 118,000 hours of data security research, we provide development and security teams with high-quality scan results for critical decision-making regarding version selection and remediation. Our customers have expressed great interest in our data capabilities, urging us to provide insights into the most popular open source components and conduct in-depth security analyses of the vulnerabilities affecting them.
In response to these demands, Sonatype has successfully identified five popular open source components used worldwide and their associated vulnerabilities.
The VM-escape paradox
| Name | Vulnerability | Description |
|---|---|---|
| vm2 | CVE-2023-30547 | Critical sandbox escape vulnerabilities |
| redis-py | CVE-2023-28859 | A bug in ChatGPT |
| Chromium | CVE-2022-2294 | Heap buffer overflow in WebRTC |
| WildFly Elytron | CVE-2020-10714 | A session fixation attack |
| Apache Chainsaw | CVE-2022-23307 | A vulnerability in an end-of-life version of Log4j |
Name of component: vm2
Name of vulnerability: CVE-2023-30547
Associated CVEs: CVE-2023-29199, CVE-2023-29017, CVE-2022-36067
Type of vulnerability: Sandbox escape
Versions affected: <3.9.17
Criticality:
⊲ CVSS 3.0 Score: 10.0
⊲ CVSS 3.0 Metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H
DESCRIPTION
The vm2 npm package is no stranger to sandbox escape vulnerabilities that keep piling on. The vm2 sandbox escape vulnerabilities described here are deemed “critical” in severity. By no means is vm2 unheard of either. The popular npm component has been downloaded more than 315 million times (at the time of this writing) over the course of its lifetime and rakes in around 5 million weekly downloads.
ATTACK MECHANICS
The sandbox escape vulnerabilities in vm2 are essentially identical at their core. The insufficient or incomplete error handling in the vm2 project enables attackers to “break out” of the sandbox protections provided by the package. The PoC for the latest CVE-2023-30547 is provided by SeungHyun Lee, aka Xion, of KAIST Hacking Lab, who is credited with reporting the vulnerability.
REMEDIATION RECOMMENDATION
At the time of writing, the latest vm2 version 3.9.17 has resolved all these sandbox escape vulnerabilities — upgrade to that version or higher to fix. However, given the ongoing trend with vm2, it won’t be surprising if even the latest fix can be bypassed by variations of the exploit.
CONCLUSION
While virtual machines are designed to provide a secure sandbox environment, the presence of these critical vulnerabilities highlights the need for robust security practices.
ChatGPT spills out payment information due to Redis bug
Name of component: redis-py
Name of vulnerability: CVE-2023-28859
Associated CVEs: CVE-2023-28858
Type of vulnerability: Race Condition
Versions affected: Before 4.4.4, and 4.5.x before 4.5.4
Criticality:
⊲ CVSS 3.0 Score: 6.5
⊲ CVSS 3.0 Metrics: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N
DESCRIPTION
In March 2023, several ChatGPT users experienced data leaks due to a bug in Redis. This race condition in Redis poses a security risk impacting confidentiality and resource availability potentially opening doors for exploitation.
ATTACK MECHANICS
The vulnerability itself is quite straightforward, but it concerns a scenario that would typically occur only in rare circumstances. OpenAI admitted to inadvertently introducing a server change that caused a spike in Redis request cancellations, thereby increasing the probability of this race condition triggering.
REMEDIATION RECOMMENDATION
Despite Redis releasing a fix in version 4.5.3, sharp-witted testers were able to reproduce the flaw, deeming it unfixed, and thus tracking continues under CVE-2023-28859.
CONCLUSION
The incident involving the Redis bug exemplifies the potential risks associated with open source components when deployed at scale and combined with specific misconfigurations.
Google Chrome aka Chromium hackers in the wild: A heap buffer overflow in WebRTC
Name of component: Chromium
Name of vulnerability: CVE-2022-2294
Type of vulnerability: Out-of-bounds write
Versions affected: <103.0.5060.114
Criticality:
⊲ CVSS 3.0 Score: 8.8
⊲ CVSS 3.0 Metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
DESCRIPTION
The vulnerability concerns a memory corruption flaw within WebRTC which can be exploited via malicious web content. A web browser user visiting a malicious web page can potentially subject their machine to arbitrary code execution by the attacker.
ATTACK MECHANICS AND REMEDIATION
A simple one-line fix corrects the flaw involving a function call.
CONCLUSION
This heap buffer overflow vulnerability highlights the importance of adopting a comprehensive solution for software supply chain management.
The cursed session: WildFly Elytron
Name of component: WildFly Elytron
Name of vulnerability: CVE-2020-10714
Type of vulnerability: Session fixation
Versions affected: 1.11.3.Final and before
Criticality:
⊲ CVSS 3.0 Score: 7.5
⊲ CVSS 3.0 Metrics: CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H
DESCRIPTION
The vulnerability allows attackers to trick victims into accessing affected applications with predefined session IDs.
REMEDIATION RECOMMENDATION
The maintainers chose to fix this security issue by regenerating the session ID after a successful login.
CONCLUSION
The session fixation vulnerability illustrates the significance of addressing vulnerabilities that can be easily exploited.
Beyond Log4Shell: An end-of-life version of Log4j with a Chainsaw vulnerability
Name of component: Apache Chainsaw
Name of vulnerability: CVE-2022-23307
Associated CVEs: CVE-2020-9493
Type of vulnerability: Deserialization of untrusted data
Versions affected: <2.1.0
Criticality:
⊲ CVSS 3.0 Score: 8.8
⊲ CVSS 3.0 Metrics: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
DESCRIPTION
The vulnerability itself lurks in the Apache Chainsaw component, included within Log4j 1.x versions. The inclusion of this version in Log4j 1.x makes it vulnerable too.
ATTACK MECHANICS AND REMEDIATION
An attacker can trigger arbitrary code execution through untrusted deserialization.
CONCLUSION
Log4j 1.x vulnerabilities highlight the risks associated with outdated components.
Prioritizing Open Source Security: Sonatype’s Data-Driven Approach
In this whitepaper, we highlighted our top five vulnerable open source components, shedding light on the importance of security in the open source landscape. The vulnerabilities outlined serve as a wake-up call for the software industry to prioritize security in the open source landscape.