Every CVE Search/ Get API key

CVE-2025-26619

Vega Cross-Site Scripting (XSS) via event filter when not using CSP mode `expressionInterpeter`

5.3 MediumFix available

Vega is a visualization grammar, a declarative format for creating, saving, and sharing interactive visualization designs. In vega 5.30.0 and lower and in 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. The issue is patched in vega 5.31.0 and vega-functions 5.16.0. Some workarounds are available. Run vega without vega.expressionInterpreter. This mode is not the default as it is slower. Alternatively, using the interpreter described in CSP safe mode (Content Security Policy) prevents arbitrary Javascript from running, so users of this mode are not affected by this vulnerability.

Attack profile

How easy it is to exploit

Attack vector
Network
Complexity
Low
Privileges needed
None
User interaction
Passive

What an attacker can affect

Confidentiality
None
Integrity
None
Availability
None

Exploit likelihood

0.35%Up 0.3 points since Mar 28, 2025
90%50%10%1%

What each source reports

CVE List Score used 5.3

Vega Cross-Site Scripting (XSS) via event filter when not using CSP mode `expressionInterpeter`

Vega is a visualization grammar, a declarative format for creating, saving, and sharing interactive visualization designs. In vega 5.30.0 and lower and in 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. The issue is patched in vega 5.31.0 and vega-functions 5.16.0. Some workarounds are available. Run vega without vega.expressionInterpreter. This mode is not the default as it is slower. Alternatively, using the interpreter described in CSP safe mode (Content Security Policy) prevents arbitrary Javascript from running, so users of this mode are not affected by this vulnerability.

Record
CVE-2025-26619
CVSS 4.0
5.3 MediumCVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N
Weakness
CWE-79
Updated
2026-11-02
EUVDEUVD-2025-8424 5.3

Vega is a visualization grammar, a declarative format for creating, saving, and sharing interactive visualization designs. In vega 5.30.0 and lower and in 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. The issue is patched in vega 5.31.0 and vega-functions 5.16.0. Some workarounds are available. Run vega without vega.expressionInterpreter. This mode is not the default as it is slower. Alternatively, using the interpreter described in CSP safe mode (Content Security Policy) prevents arbitrary Javascript from running, so users of this mode are not affected by this vulnerability.

Record
EUVD-2025-8424
CVSS 4.0
5.3 MediumCVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N
Updated
2026-11-02
GitHub AdvisoriesGHSA-rcw3-wmx7-cphr 6.9

Vega Cross-Site Scripting (XSS) via event filter when not using CSP mode expressionInterpeter

Impact

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.

Patches

Patched in vega 5.31.0 / vega-functions 5.16.0

Workarounds

Is there a way for users to fix or remediate the vulnerability without upgrading?

  • Run vega without vega.expressionInterpreter. This mode is not the default as it is slower.
  • Using the interpreter described in CSP safe mode (Content Security Policy) prevents arbitrary Javascript from running, so users of this mode are not affected by this vulnerability.

References

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}
        }
      }
    }
  ]
}
Record
GHSA-rcw3-wmx7-cphr
CVSS 4.0
6.9 MediumCVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N
CVSS 3.1
6.1 MediumCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
Weakness
CWE-79
Updated
2026-11-02
NVD 5.3

Vega is a visualization grammar, a declarative format for creating, saving, and sharing interactive visualization designs. In vega 5.30.0 and lower and in 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. The issue is patched in vega 5.31.0 and vega-functions 5.16.0. Some workarounds are available. Run vega without vega.expressionInterpreter. This mode is not the default as it is slower. Alternatively, using the interpreter described in CSP safe mode (Content Security Policy) prevents arbitrary Javascript from running, so users of this mode are not affected by this vulnerability.

Record
CVE-2025-26619
CVSS 4.0
5.3 MediumCVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
CVSS 3.1
6.1 MediumCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
Weakness
CWE-79
Updated
2026-11-02
OSV 5.3

Vega Cross-Site Scripting (XSS) via event filter when not using CSP mode `expressionInterpeter`

Vega is a visualization grammar, a declarative format for creating, saving, and sharing interactive visualization designs. In vega 5.30.0 and lower and in 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. The issue is patched in vega 5.31.0 and vega-functions 5.16.0. Some workarounds are available. Run vega without vega.expressionInterpreter. This mode is not the default as it is slower. Alternatively, using the interpreter described in CSP safe mode (Content Security Policy) prevents arbitrary Javascript from running, so users of this mode are not affected by this vulnerability.

Record
CVE-2025-26619
CVSS 4.0
5.3 MediumCVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N
Weakness
CWE-79
Updated
2026-11-02
OSVDEBIAN-CVE-2025-26619 6.1

Vega is a visualization grammar, a declarative format for creating, saving, and sharing interactive visualization designs. In vega 5.30.0 and lower and in 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. The issue is patched in vega 5.31.0 and vega-functions 5.16.0. Some workarounds are available. Run vega without vega.expressionInterpreter. This mode is not the default as it is slower. Alternatively, using the interpreter described in CSP safe mode (Content Security Policy) prevents arbitrary Javascript from running, so users of this mode are not affected by this vulnerability.

Record
DEBIAN-CVE-2025-26619
CVSS 3.1
6.1 MediumCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
Updated
2026-11-02
OSVGHSA-rcw3-wmx7-cphr 6.9

Vega Cross-Site Scripting (XSS) via event filter when not using CSP mode expressionInterpeter

Impact

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.

Patches

Patched in vega 5.31.0 / vega-functions 5.16.0

Workarounds

Is there a way for users to fix or remediate the vulnerability without upgrading?

  • Run vega without vega.expressionInterpreter. This mode is not the default as it is slower.
  • Using the interpreter described in CSP safe mode (Content Security Policy) prevents arbitrary Javascript from running, so users of this mode are not affected by this vulnerability.

References

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}
        }
      }
    }
  ]
}
Record
GHSA-rcw3-wmx7-cphr
CVSS 4.0
6.9 MediumCVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N
CVSS 3.1
6.1 MediumCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
Weakness
CWE-79
Updated
2026-11-02
OSVUBUNTU-CVE-2025-26619 5.3

Vega is a visualization grammar, a declarative format for creating, saving, and sharing interactive visualization designs. In vega 5.30.0 and lower and in 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. The issue is patched in vega 5.31.0 and vega-functions 5.16.0. Some workarounds are available. Run vega without vega.expressionInterpreter. This mode is not the default as it is slower. Alternatively, using the interpreter described in CSP safe mode (Content Security Policy) prevents arbitrary Javascript from running, so users of this mode are not affected by this vulnerability.

Record
UBUNTU-CVE-2025-26619
CVSS 4.0
5.3 MediumCVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N
CVSS 3.1
6.1 MediumCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
Updated
2026-11-02

Affected products

Affected packages

Affected packages
PackageAffectedFixed
vega
npm
before 5.31.0
5.31.0
vega-functions
npm
before 5.16.0
5.16.0
vega.js
Debian:12
All versions, plus listed versions
5.22.1+ds+~3.1.0-45.25.0+ds+~cs5.3.0-15.25.0+ds+~cs5.3.0-25.25.0+ds+~cs5.3.0-35.25.0+ds+~cs5.3.0-4
Show 8 moreShow less
5.25.0+ds+~cs5.3.0-55.28.0+ds+~cs5.3.0-15.28.0+ds+~cs5.3.0-25.28.0+ds+~cs5.3.0-35.33.1+ds+~cs5.3.0-15.33.1+ds+~cs5.3.0-25.33.1+ds+~cs5.3.0-35.33.1+ds+~cs5.3.0-4
None known
vega.js
Debian:13
All versions, plus listed versions
5.28.0+ds+~cs5.3.0-15.28.0+ds+~cs5.3.0-25.28.0+ds+~cs5.3.0-35.33.1+ds+~cs5.3.0-15.33.1+ds+~cs5.3.0-25.33.1+ds+~cs5.3.0-35.33.1+ds+~cs5.3.0-4
None known
vega.js
Debian:14
before 5.33.1+ds+~cs5.3.0-1, plus listed versions
5.28.0+ds+~cs5.3.0-15.28.0+ds+~cs5.3.0-25.28.0+ds+~cs5.3.0-3
5.33.1+ds+~cs5.3.0-1
vega.js
Ubuntu:24.04:LTS
All versions, plus listed versions
5.25.0+ds+~cs5.3.0-25.25.0+ds+~cs5.3.0-5
None known
vega.js
Ubuntu:25.10
All versions, plus listed versions
5.28.0+ds+~cs5.3.0-1
None known
vega.js
Ubuntu:26.10
All versions, plus listed versions
5.28.0+ds+~cs5.3.0-25.33.1+ds+~cs5.3.0-4
None known
vega.js
Ubuntu:26.04:LTS
All versions, plus listed versions
5.28.0+ds+~cs5.3.0-15.28.0+ds+~cs5.3.0-2
None known

History

History
RecordedChangedSources
first indexedCVE List, EUVD, GitHub Advisories, NVD, OSV

Dates are when Every CVE recorded each change. Upstream dates may differ.

In short

CVE-2025-26619 is a medium vulnerability (CVSS 5.3) in Vega, published March 27, 2025. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.35%, the 29th percentile. Fixed in vega 5.31.0.

References

Show 5 moreShow less
MoveEnter Open