Vulnerability record · CVE-2023-26487 · published 4 March 2023
CVE-2023-26487: Vega-functions project vega-functions cross-site scripting vulnerability
VVega Functions Project · Vega Functions
Vega is a visualization grammar, a declarative format for creating, saving, and sharing interactive visualization designs.`lassoAppend' function accepts 3 arguments and internally invokes `push` function on the 1st argument specifying array consisting of 2nd and 3rd arguments as `push` call 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 `push` function as the 1st argument, `push` function 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`lassoAppend` doesn'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 `setImmediate` polyfill basically allows `eval`-like functionality). This issue was patched in 5.23.0.
Description
Vega is a visualization grammar, a declarative format for creating, saving, and sharing interactive visualization designs.`lassoAppend' function accepts 3 arguments and internally invokes `push` function on the 1st argument specifying array consisting of 2nd and 3rd arguments as `push` call 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 `push` function as the 1st argument, `push` function 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`lassoAppend` doesn'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 `setImmediate` polyfill basically allows `eval`-like functionality). This issue was patched in 5.23.0.
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
Affected products
2 vulnerable configurations from NVD's CPE data, grouped by vendor and product.
References
| Link | Tags |
|---|---|
| https://github.com/vega/vega/commit/01adb034f24727d3bb321bbbb6696a7f4cd91689 | Patch |
| https://github.com/vega/vega/releases/tag/v5.23.0 | Release Notes |
| https://github.com/vega/vega/security/advisories/GHSA-w5m3-xh75-mp55 | ExploitThird Party Advisory |
| https://github.com/vega/vega/commit/01adb034f24727d3bb321bbbb6696a7f4cd91689 | Patch |
| https://github.com/vega/vega/releases/tag/v5.23.0 | Release Notes |
| https://github.com/vega/vega/security/advisories/GHSA-w5m3-xh75-mp55 | ExploitThird Party Advisory |
Track CVE-2023-26487 inside VULONE
Watch it alongside the ransomware crews, C2 infrastructure and forum chatter that reference it, query it through the API and pull it into your SIEM over TAXII.
Related vulnerabilities
Same products first, then exploited flaws of the same weakness class.
Source: NIST National Vulnerability Database (record CVE-2023-26487), CISA KEV, FIRST EPSS (scores of 2026-09-27). This page is refreshed as NVD updates the record.