CVE-2023-46308

In Plotly plotly.js before 2.25.2, plot API calls have a risk of __proto__ being polluted in expandObjectPaths or nestedProperty

Critical · published January 3, 2024

CVSS v3.1
9.8
EPSS
1%
Percentile
60.5
In the wild
Unconfirmed
What it is

🔥 A crafty __proto__ pollution vulnerability in Plotly's plotly.js can turn your data visualization dreams into a developer's nightmare! Think of it like a sneaky intruder at a family reunion who alters the guest list by changing the family tree — everything looks normal at first, but the chaos that follows can lead to unexpected guests getting special privileges! An attacker could exploit this vulnerability to manipulate data structures, potentially allowing unauthorized access to sensitive information or leading to unexpected behaviors in your applications. It's a developer's worst fear: a breach that could compromise your entire plot! With a CVSS score of 9.8, this is absolutely devastating and requires immediate attention.

Put simply

Think of it like a sneaky intruder at a family reunion who alters the guest list by changing the family tree — everything looks normal at first, but the chaos that follows can lead to unexpected guests getting special privileges! This vulnerability allows for prototype pollution through the Plotly.js API, specifically in the expandObjectPaths or nestedProperty functions, enabling attackers to modify the behavior of objects in unexpected ways.

What to do

An attacker could exploit this vulnerability to manipulate data structures, potentially allowing unauthorized access to sensitive information or leading to unexpected behaviors in your applications. It's a developer's worst fear: a breach that could compromise your entire plot! With a CVSS score of 9.8, this is absolutely devastating and requires immediate attention. Patch to version 2.25.2 or later immediately to mitigate the risk. Additionally, review your API calls for any potential misuse of object properties that could lead to prototype pollution, and consider implementing input validation to prevent future occurrences. You've got this! With these steps, you'll be back on track to secure your visualizations in no time! 🛡️

The record
Technical detail
CVSS v3.1
9.8 · CRITICAL
Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
CVSS v4.0
Not supplied
EPSS
0.00936 · 60.5th percentile
Published
2024-01-03T00:00Z
EPSS history
Timeline
  • 03 JAN 00:00Z
    In Plotly plotly.js before 2.25.2, plot API calls have a risk of __proto__ being polluted in expandObjectPaths or nestedProperty
    cvelistv5