CVE-2023-26487 (Medium) detected in vega-5.22.1.js #3525
Description
CVE-2023-26487 - Medium Severity Vulnerability
Vulnerable Library - vega-5.22.1.js
The Vega visualization grammar.
Library home page: https://cdnjs.cloudflare.com/ajax/libs/vega/5.22.1/vega.js
Path to dependency file: /node_modules/leaflet-vega/demo/demo.html
Path to vulnerable library: /node_modules/leaflet-vega/demo/demo.html
Dependency Hierarchy:
- ❌ vega-5.22.1.js (Vulnerable Library)
Found in base branch: main
Vulnerability Details
Vega is a visualization grammar, a declarative format for creating, saving, and sharing interactive visualization designs.lassoAppend' function accepts 3 arguments and internally invokes
pushfunction on the 1st argument specifying array consisting of 2nd and 3rd arguments as
pushcall argument. The type of the 1st argument is supposed to be an array, but it's not enforced. This makes it possible to specify any object with a
pushfunction as the 1st argument,
pushfunction can be set to any function that can be access via
event.view(no all such functions can be exploited due to invalid context or signature, but some can, e.g.
console.log). The issue is that
lassoAppenddoesn't enforce proper types of its arguments. This issue opens various XSS vectors, but exact impact and severity depends on the environment (e.g. Core JS
setImmediatepolyfill basically allows
eval`-like functionality). This issue was patched in 5.23.0.
Publish Date: 2023-03-04
URL: CVE-2023-26487
CVSS 3 Score Details (6.1)
Base Score Metrics:
- Exploitability Metrics:
- Attack Vector: Network
- Attack Complexity: Low
- Privileges Required: None
- User Interaction: Required
- Scope: Changed
- Impact Metrics:
- Confidentiality Impact: Low
- Integrity Impact: Low
- Availability Impact: None
Suggested Fix
Type: Upgrade version
Origin: GHSA-w5m3-xh75-mp55
Release Date: 2023-03-04
Fix Resolution: vega - 5.23.0, vega-functions - 5.13.1