CVE-2023-26487 | Vega has cross-site scripting vulnerability in `lassoAppend` function

Exp

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.

Published: 2023-03-04 Last update: 2024-11-21 Assigner: [email protected] Source: [email protected]

Conclusion & alert: CVE-2023-26487 is rated High Exploit Risk (61.4/100): CVSS Medium severity, with medium exploitation likelihood (EPSS 0.35%). Core evidence: 1 public exploit reference(s) are indexed (Exploit-DB). Mandatory action: Public exploits are available—assess exposure, apply mitigations, and prioritize patching.

Risk is dynamic; we continuously reassess and refresh what is shown on this page as upstream context changes.

Public exploit references (Exploit-DB) for CVE-2023-26487

EDB-ID Source Kind Published Link
nvd_ref exploit_tag Exploit-DB ↗

Exploit prediction scoring system (EPSS) score for CVE-2023-26487

EPSS lead: Daily EPSS estimates relative likelihood of exploitation; percentile ranks this CVE among scored vulnerabilities (higher = more severe relative rank).

# Date Old EPSS score New EPSS score Delta (New - Old)
1 2026-05-12 0.16% 0.35% +0.19%
2 2025-11-21 0.35% 0.16% -0.18%
3 2025-11-18 0.35%

Full EPSS history (10 records total)

Common vulnerability scoring system (CVSS) metrics for CVE-2023-26487

CVSS metrics for this CVE.

Base score Version Severity Vector Exploitability Impact Score source
6.5 3.1 MEDIUM
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N Click to expand
Attack vector (AV:N)
Could be attacked over the internet or any normal routed network—not just someone sitting at the machine.
Attack complexity (AC:L)
Once they can reach the bug, pulling it off is straightforward—no weird race conditions or rare setup.
Privileges required (PR:N)
No account or special rights needed—anonymous or random user is enough.
User interaction (UI:N)
Nobody has to click “OK” or open a trap file; it can work without a victim helping.
Scope (S:U)
Damage stays in the same “trust bubble” as the broken component—no big spill into unrelated systems.
Confidentiality (C:L)
Some sensitive info could get out, but not a total data dump.
Integrity (I:L)
Attackers could change some data, but it’s limited—not everything goes.
Availability (A:N)
Service keeps running; no real outage angle.
3.9 2.5 [email protected]
6.1 3.1 MEDIUM
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N Click to expand
Attack vector (AV:N)
Could be attacked over the internet or any normal routed network—not just someone sitting at the machine.
Attack complexity (AC:L)
Once they can reach the bug, pulling it off is straightforward—no weird race conditions or rare setup.
Privileges required (PR:N)
No account or special rights needed—anonymous or random user is enough.
User interaction (UI:R)
A real person has to do something—click, install, enable—otherwise it doesn’t land.
Scope (S:C)
Breaking this can reach past the original component and bite other resources—bigger blast radius.
Confidentiality (C:L)
Some sensitive info could get out, but not a total data dump.
Integrity (I:L)
Attackers could change some data, but it’s limited—not everything goes.
Availability (A:N)
Service keeps running; no real outage angle.
2.8 2.7 [email protected]

Weakness enumeration for CVE-2023-26487

GitHub Security Advisory for CVE-2023-26487

GHSA-w5m3-xh75-mp55 · Severity: medium · Ecosystem: npm — Vega has Cross-site Scripting vulnerability in `lassoAppend` function

OS Trackers for CVE-2023-26487

vendor priority summary link
debian not yet assigned CVE-2023-26487 not yet assigned priority: Debian including 1 source packages (vega.js), 4 status rows across 4 suites (bookworm, forky, sid, trixie): resolved 3, open 1. https://security-tracker.debian.org/tracker/CVE-2023-26487
redhat medium https://access.redhat.com/security/cve/CVE-2023-26487
ubuntu medium CVE-2023-26487 medium priority: Ubuntu including 1 source packages (vega.js), 4 status rows across 4 suites (jammy, noble, questing, upstream): not-affected 2, DNE 1, released 1. https://ubuntu.com/security/CVE-2023-26487

Affected software / configurations for CVE-2023-26487

Vendor Product Version Raw CPE
vega-functions_project vega-functions < 5.13.1 cpe:2.3:a:vega-functions_project:vega-functions:*:*:*:*:*:node.js:*:*
vega_project vega < 5.23.0 cpe:2.3:a:vega_project:vega:*:*:*:*:*:node.js:*:*

References for CVE-2023-26487

cvelogic Threat Intelligence