Description
Vega is a visualization grammar, a declarative format for creating, saving, and sharing interactive visualization designs. Prior to version 5.26.0 of vega and 5.4.2 of vega-selections, the `vlSelectionTuples` function can be used to call JavaScript functions, leading to cross-site scripting.`vlSelectionTuples` calls multiple functions that can be controlled by an attacker, including one call with an attacker-controlled argument. This can be used to call `Function()` with arbitrary JavaScript and the resulting function can be called with `vlSelectionTuples` or using a type coercion to call `toString` or `valueOf`. Version 5.26.0 of vega and 5.4.2 of vega-selections fix this issue.
References (3)
Core 3
Core References
Vendor Advisory x_refsource_confirm
https://github.com/vega/vega/security/advisories/GHSA-mp7w-mhcv-673j
Patch x_refsource_misc
https://github.com/vega/vega/commit/9fb9ea07e27984394e463d286eb73944fa61411e
Scores
CVSS v4
6.9
EPSS
0.0018
EPSS Percentile
39.5%
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N
CISA SSVC
Vulnrichment
Exploitation
poc
Automatable
yes
Technical Impact
partial
Details
CWE
CWE-79
Status
published
Products (3)
npm/vega
0 - 5.26.0npm
npm/vega-selections
0 - 5.4.2npm
vega/vega
< 5.26.0
Published
Feb 14, 2025
Tracked Since
Feb 18, 2026