CVE-2023-46308: n/a in n/a
In Plotly plotly.js before 2.25.2, plot API calls have a risk of __proto__ being polluted in expandObjectPaths or nestedProperty.
AI Analysis
Technical Summary
CVE-2023-46308 is a critical security vulnerability affecting versions of the Plotly JavaScript library (plotly.js) prior to 2.25.2. The vulnerability arises from unsafe handling of object properties within the plot API calls, specifically in the functions expandObjectPaths and nestedProperty. These functions are responsible for processing nested object paths and properties in the library's plotting API. The flaw allows an attacker to perform __proto__ pollution, a type of prototype pollution attack where the prototype of a base object can be maliciously modified. This can lead to the injection of arbitrary properties or methods into all objects inheriting from the polluted prototype, potentially resulting in severe consequences such as arbitrary code execution, denial of service, or data corruption. The CVSS v3.1 score of 9.8 (critical) reflects the high impact and ease of exploitation: the attack vector is network-based (AV:N), requires no privileges (PR:N), no user interaction (UI:N), and affects confidentiality, integrity, and availability (C:H/I:H/A:H). Although no known exploits are currently reported in the wild, the vulnerability's nature and severity make it a significant threat. Prototype pollution vulnerabilities are particularly dangerous in JavaScript environments because they can alter the behavior of widely used objects and functions, potentially compromising the entire application or system relying on the library. Plotly.js is a popular open-source graphing library used extensively in web applications for data visualization, dashboards, and analytics platforms. The vulnerability could be exploited by sending crafted inputs to the plotting API, causing the prototype of core JavaScript objects to be polluted, which may lead to remote code execution or other malicious outcomes.
Potential Impact
For European organizations, the impact of CVE-2023-46308 can be substantial, especially for those relying on web applications or internal tools that incorporate Plotly.js for data visualization. Sectors such as finance, healthcare, telecommunications, and government services often use interactive dashboards and analytics platforms that may embed this library. Exploitation could lead to unauthorized access to sensitive data, manipulation of displayed information, or disruption of critical services. Given the high CVSS score and the lack of required privileges or user interaction, attackers could remotely exploit vulnerable applications to compromise confidentiality, integrity, and availability. This could result in data breaches, loss of trust, regulatory penalties under GDPR, and operational downtime. Additionally, prototype pollution can be a stepping stone for further attacks, including remote code execution, which could allow attackers to pivot within networks or deploy ransomware. The absence of known exploits in the wild currently provides a window for proactive mitigation, but the critical nature of the vulnerability demands immediate attention to prevent potential exploitation.
Mitigation Recommendations
European organizations should prioritize updating Plotly.js to version 2.25.2 or later, where this vulnerability has been addressed. If immediate upgrade is not feasible, organizations should implement strict input validation and sanitization on all data passed to the plotting API to prevent malicious payloads that could trigger prototype pollution. Employing Content Security Policy (CSP) headers can help mitigate the impact of potential code injection resulting from exploitation. Additionally, organizations should conduct thorough code reviews and security testing focusing on the usage of Plotly.js within their applications. Monitoring network traffic and application logs for unusual or suspicious API calls related to plotting functions can aid in early detection of exploitation attempts. Where possible, isolate or sandbox components using Plotly.js to limit the blast radius of a successful attack. Finally, raising awareness among development teams about prototype pollution risks and secure coding practices is essential to prevent similar vulnerabilities in the future.
Affected Countries
Germany, France, United Kingdom, Netherlands, Italy, Spain, Sweden, Belgium
CVE-2023-46308: n/a in n/a
Description
In Plotly plotly.js before 2.25.2, plot API calls have a risk of __proto__ being polluted in expandObjectPaths or nestedProperty.
AI-Powered Analysis
Technical Analysis
CVE-2023-46308 is a critical security vulnerability affecting versions of the Plotly JavaScript library (plotly.js) prior to 2.25.2. The vulnerability arises from unsafe handling of object properties within the plot API calls, specifically in the functions expandObjectPaths and nestedProperty. These functions are responsible for processing nested object paths and properties in the library's plotting API. The flaw allows an attacker to perform __proto__ pollution, a type of prototype pollution attack where the prototype of a base object can be maliciously modified. This can lead to the injection of arbitrary properties or methods into all objects inheriting from the polluted prototype, potentially resulting in severe consequences such as arbitrary code execution, denial of service, or data corruption. The CVSS v3.1 score of 9.8 (critical) reflects the high impact and ease of exploitation: the attack vector is network-based (AV:N), requires no privileges (PR:N), no user interaction (UI:N), and affects confidentiality, integrity, and availability (C:H/I:H/A:H). Although no known exploits are currently reported in the wild, the vulnerability's nature and severity make it a significant threat. Prototype pollution vulnerabilities are particularly dangerous in JavaScript environments because they can alter the behavior of widely used objects and functions, potentially compromising the entire application or system relying on the library. Plotly.js is a popular open-source graphing library used extensively in web applications for data visualization, dashboards, and analytics platforms. The vulnerability could be exploited by sending crafted inputs to the plotting API, causing the prototype of core JavaScript objects to be polluted, which may lead to remote code execution or other malicious outcomes.
Potential Impact
For European organizations, the impact of CVE-2023-46308 can be substantial, especially for those relying on web applications or internal tools that incorporate Plotly.js for data visualization. Sectors such as finance, healthcare, telecommunications, and government services often use interactive dashboards and analytics platforms that may embed this library. Exploitation could lead to unauthorized access to sensitive data, manipulation of displayed information, or disruption of critical services. Given the high CVSS score and the lack of required privileges or user interaction, attackers could remotely exploit vulnerable applications to compromise confidentiality, integrity, and availability. This could result in data breaches, loss of trust, regulatory penalties under GDPR, and operational downtime. Additionally, prototype pollution can be a stepping stone for further attacks, including remote code execution, which could allow attackers to pivot within networks or deploy ransomware. The absence of known exploits in the wild currently provides a window for proactive mitigation, but the critical nature of the vulnerability demands immediate attention to prevent potential exploitation.
Mitigation Recommendations
European organizations should prioritize updating Plotly.js to version 2.25.2 or later, where this vulnerability has been addressed. If immediate upgrade is not feasible, organizations should implement strict input validation and sanitization on all data passed to the plotting API to prevent malicious payloads that could trigger prototype pollution. Employing Content Security Policy (CSP) headers can help mitigate the impact of potential code injection resulting from exploitation. Additionally, organizations should conduct thorough code reviews and security testing focusing on the usage of Plotly.js within their applications. Monitoring network traffic and application logs for unusual or suspicious API calls related to plotting functions can aid in early detection of exploitation attempts. Where possible, isolate or sandbox components using Plotly.js to limit the blast radius of a successful attack. Finally, raising awareness among development teams about prototype pollution risks and secure coding practices is essential to prevent similar vulnerabilities in the future.
Affected Countries
For access to advanced analysis and higher rate limits, contact root@offseq.com
Technical Details
- Data Version
- 5.1
- Assigner Short Name
- mitre
- Date Reserved
- 2023-10-22T00:00:00.000Z
- Cvss Version
- 3.1
- State
- PUBLISHED
Threat ID: 683f0dc1182aa0cae27ff313
Added to database: 6/3/2025, 2:59:13 PM
Last enriched: 7/4/2025, 6:25:20 AM
Last updated: 12/4/2025, 11:42:05 AM
Views: 37
Community Reviews
0 reviewsCrowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.
Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.
Related Threats
CVE-2025-14010: Vulnerability in Red Hat Red Hat Ceph Storage 5
MediumCVE-2025-12826: CWE-862 Missing Authorization in webdevstudios Custom Post Type UI
MediumCVE-2025-12782: CWE-862 Missing Authorization in beaverbuilder Beaver Builder Page Builder – Drag and Drop Website Builder
MediumCVE-2025-13513: CWE-79 Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting') in codejunkie Clik stats
MediumCVE-2025-11727: CWE-79 Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting') in codisto Omnichannel for WooCommerce: Google, Amazon, eBay & Walmart Integration – Powered by Codisto
HighActions
Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.
Need enhanced features?
Contact root@offseq.com for Pro access with improved analysis and higher rate limits.