Skip to content
Heist/ feed
Back to feed
Medium

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

Type: advisorySources: OSV

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.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2025-26619
Confirmed fixed CVEs
Not specified
Updated in this feed
8 Nov 2026, 03:33 UTC · Revision 1

Source evidence

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

core-osv · Original source

Published 27 Mar 2025, 13:51 UTC

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.

osv:CVE-2025-26619
Complete source record
{
  "id": "35edb4e22eac48142ed98de442271d8cc571551c7243860eaf8c2541027c0fd7",
  "url": "https://osv.dev/vulnerability/CVE-2025-26619",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "Vega Cross-Site Scripting (XSS) via event filter when not using CSP mode `expressionInterpeter`",
    "summary": "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.",
    "evidence": "osv:CVE-2025-26619",
    "products": [],
    "severity": "medium",
    "structured": {
      "id": "CVE-2025-26619",
      "aliases": [
        "CVE-2025-26619",
        "GHSA-rcw3-wmx7-cphr"
      ],
      "metrics": [
        {
          "type": "CVSS_V4",
          "score": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/vega/vega",
              "type": "GIT",
              "events": [
                {
                  "introduced": "0"
                },
                {
                  "fixed": "4affcbedb9d14815dbb6d3b250ed231b54fc95c0"
                },
                {
                  "fixed": "2d951a38909fc4310090f200c19b03790c05d000"
                },
                {
                  "fixed": "8fc129a6f8a11e96449c4ac0f63de0e5bfc7254c"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "cpe": "cpe:2.3:a:vega-functions_project:vega-functions:*:*:*:*:*:node.js:*:*",
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "fixed": "5.16.0"
                      }
                    ],
                    "source": "CPE_RANGE"
                  },
                  {
                    "cpe": "cpe:2.3:a:vega_project:vega:*:*:*:*:*:node.js:*:*",
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "fixed": "5.31.0"
                      }
                    ],
                    "source": "CPE_RANGE"
                  },
                  {
                    "range": [
                      {
                        "fixed": "8fc129a6f8a11e96449c4ac0f63de0e5bfc7254c"
                      }
                    ],
                    "source": "REFERENCES_COMMIT"
                  }
                ]
              }
            }
          ],
          "versions": [
            "v5.15.0",
            "v5.14.0",
            "v5.13.0",
            "v5.12.3",
            "v5.12.2",
            "v5.12.1",
            "v5.12.0",
            "v5.11.1",
            "v5.11.0",
            "v5.10.1",
            "v5.10.0",
            "v5.9.2",
            "v5.9.1",
            "v5.9.0",
            "v5.8.1",
            "v5.8.0",
            "v5.7.3",
            "v5.7.2",
            "v5.7.1",
            "v5.7.0",
            "v5.6.0",
            "v5.5.3",
            "v5.5.2",
            "v5.5.1",
            "v5.5.0",
            "v5.4.1",
            "v4.5.1",
            "v5.4.0",
            "v5.3.5",
            "v5.3.4",
            "v5.3.3",
            "v5.3.2",
            "v5.3.1",
            "v5.3.0",
            "v5.2.0",
            "v5.1.0",
            "v5.0.0",
            "v5.0.0-rc5",
            "v5.0.0-rc4",
            "v5.0.0-rc3",
            "v5.0.0-rc2",
            "v5.0.0-rc1",
            "v4.4.0",
            "v4.3.0",
            "v4.2.0",
            "v4.1.0",
            "v4.0.0",
            "v4.0.0-rc.3",
            "v4.0.0-rc.1",
            "v3.3.1",
            "v3.3.0",
            "v3.2.1",
            "v3.2.0",
            "v3.1.0",
            "v3.0.10",
            "v3.0.9",
            "v3.0.8",
            "v3.0.7",
            "v3.0.6",
            "v3.0.5",
            "v3.0.4",
            "v3.0.3",
            "v3.0.2",
            "v3.0.1",
            "v3.0.0",
            "v3.0.0-rc7",
            "v3.0.0-rc6",
            "v3.0.0-rc5",
            "v3.0.0-rc4",
            "v3.0.0-rc3",
            "v3.0.0-rc2",
            "v3.0.0-rc1",
            "v3.0.0-beta.39",
            "v3.0.0-beta.38",
            "v3.0.0-beta.37",
            "v3.0.0-beta.36",
            "v3.0.0-beta.35",
            "v3.0.0-beta.34",
            "v3.0.0-beta.33",
            "v3.0.0-beta.32",
            "v3.0.0-beta.31",
            "v3.0.0-beta.30",
            "v3.0.0-beta.29",
            "v3.0.0-beta.28",
            "v3.0.0-beta.27",
            "v3.0.0-beta.26",
            "v3.0.0-beta.25",
            "v3.0.0-beta.24",
            "v3.0.0-beta.23",
            "v3.0.0-beta.22",
            "v3.0.0-beta.21",
            "v3.0.0-beta.20",
            "v3.0.0-beta.19",
            "v3.0.0-beta.18",
            "v3.0.0-beta.17",
            "v3.0.0-beta.16",
            "v3.0.0-beta.15",
            "v3.0.0-beta.14",
            "v3.0.0-beta.13",
            "v3.0.0-beta.12",
            "v3.0.0-beta.11",
            "v3.0.0-beta.10",
            "v3.0.0-beta.8",
            "v3.0.0-beta.7",
            "v3.0.0-beta.6",
            "v3.0.0-beta.4",
            "v3.0.0-beta.3",
            "v3.0.0-beta.2",
            "v1.5.4",
            "v1.5.1",
            "v1.5.0",
            "v1.4.3",
            "v1.4.2",
            "v1.4.1",
            "v1.4.0",
            "v1.3.4",
            "v1.3.3",
            "v1.3.2",
            "v1.3.1",
            "v1.3.0",
            "v1.2.0",
            "v1.1.0",
            "v1.0.0"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2025-26619.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:53.147782993Z",
      "provider": "osv",
      "references": [
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2025/26xxx/CVE-2025-26619.json",
        "https://github.com/vega/vega/security/advisories/GHSA-rcw3-wmx7-cphr",
        "https://nvd.nist.gov/vuln/detail/CVE-2025-26619",
        "https://github.com/vega/vega-lite/issues/9469",
        "https://github.com/vega/vega/issues/3984",
        "https://github.com/vega/vega/commit/8fc129a6f8a11e96449c4ac0f63de0e5bfc7254c"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-79"
        ],
        "cna_assigner": "GitHub_M",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2025/26xxx/CVE-2025-26619.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2025-26619",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 522247,
  "published_at": "2025-03-27T13:51:38.442+00:00"
}