Skip to main content

CVE-2023-46308: n/a in n/a

Critical
VulnerabilityCVE-2023-46308cvecve-2023-46308
Published: Wed Jan 03 2024 (01/03/2024, 00:00:00 UTC)
Source: CVE Database V5
Vendor/Project: n/a
Product: 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

AILast updated: 07/04/2025, 06:25:20 UTC

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.

Need more detailed analysis?Get Pro

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: 8/12/2025, 1:08:49 PM

Views: 20

Actions

PRO

Updates to AI analysis are available only with a Pro account. Contact root@offseq.com for access.

Please log in to the Console to use AI analysis features.

Need enhanced features?

Contact root@offseq.com for Pro access with improved analysis and higher rate limits.

Latest Threats