Cyber Posture

CVE-2025-65110

HighPublic PoC

Published: 05 January 2026

Published
05 January 2026
Modified
30 January 2026
KEV Added
Patch
CVSS Score 8.1 CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:N
EPSS Score 0.0014 33.0th percentile
Risk Priority 16 60% EPSS · 20% KEV · 20% CVSS

Description

Vega is a visualization grammar, a declarative format for creating, saving, and sharing interactive visualization designs. Prior to versions 6.1.2 and 5.6.3, applications meeting two conditions are at risk of arbitrary JavaScript code execution, even if "safe mode" expressionInterpreter is…

more

used. First, they use `vega` in an application that attaches both `vega` library and a `vega.View` instance similar to the Vega Editor to the global `window`, or has any other satisfactory function gadgets in the global scope. Second, they allow user-defined Vega `JSON` definitions (vs JSON that was is only provided through source code). This vulnerability allows for DOM XSS, potentially stored, potentially reflected, depending on how the library is being used. The vulnerability requires user interaction with the page to trigger. An attacker can exploit this issue by tricking a user into opening a malicious Vega specification. Successful exploitation allows the attacker to execute arbitrary JavaScript in the context of the application’s domain. This can lead to theft of sensitive information such as authentication tokens, manipulation of data displayed to the user, or execution of unauthorized actions on behalf of the victim. This exploit compromises confidentiality and integrity of impacted applications.Patched versions are available in `vega-selections@6.1.2` (requires ESM) for Vega v6 and `vega-selections@5.6.3` (no ESM needed) for Vega v5. As a workaround, do not attach `vega` or `vega.View` instances to global variables or the window as the editor used to do. This is a development-only debugging practice that should not be used in any situation where Vega/Vega-lite definitions can come from untrusted parties.

Mitigating Controls (NIST 800-53 r5)AI

prevent

Flaw remediation directly addresses this CVE by requiring timely patching of vulnerable Vega library versions prior to 6.1.2 and 5.6.3 to prevent arbitrary JavaScript execution.

prevent

Configuration settings enforce secure Vega library deployment by avoiding attachment of Vega or Vega.View to the global window object when processing untrusted JSON specs, as recommended in the workaround.

prevent

Information input validation sanitizes and restricts user-defined Vega JSON definitions from untrusted sources to block malicious specifications that could lead to DOM XSS.

Security SummaryAI

CVE-2025-65110 is a DOM-based cross-site scripting (XSS) vulnerability classified under CWE-79 in the Vega visualization grammar library, a declarative format for creating interactive visualizations. It affects applications using Vega versions prior to 6.1.2 and 5.6.3 that meet two specific conditions: attaching both the Vega library and a Vega.View instance to the global window object (similar to the Vega Editor) or having suitable function gadgets in the global scope, and allowing user-defined Vega JSON definitions from untrusted sources rather than only hardcoded JSON. Even when using the "safe mode" expressionInterpreter, this flaw enables arbitrary JavaScript code execution.

The vulnerability can be exploited remotely by any unauthenticated attacker (AV:N/PR:N) with low complexity (AC:L), though it requires user interaction (UI:R) such as opening a malicious Vega specification file. Exploitation occurs when a victim interacts with a web page hosting the vulnerable application, potentially leading to stored or reflected DOM XSS depending on implementation. Successful attacks allow arbitrary JavaScript execution in the context of the application's domain, compromising confidentiality and integrity (C:H/I:H) by enabling theft of sensitive data like authentication tokens, manipulation of displayed data, or unauthorized actions on the victim's behalf, with no impact on availability (A:N).

According to the GitHub security advisory (GHSA-829q-m3qg-ph8r), mitigation involves upgrading to patched versions: vega-selections@6.1.2 (requiring ESM) for Vega v6 or vega-selections@5.6.3 (no ESM needed) for Vega v5. As a workaround, avoid attaching Vega or Vega.View instances to global variables or the window object, a practice recommended only for development and not for environments handling untrusted Vega or Vega-Lite definitions. The CVSS v3.1 base score is 8.1 (High).

Details

CWE(s)

Affected Products

vega project
vega
≤ 5.6.3 · 6.0.0 — 6.1.2

MITRE ATT&CK Enterprise TechniquesAI

T1190 Exploit Public-Facing Application Initial Access
Adversaries may attempt to exploit a weakness in an Internet-facing host or system to initially access a network.
T1059.007 JavaScript Execution
Adversaries may abuse various implementations of JavaScript for execution.
Why these techniques?

DOM-based XSS in Vega library enables unauthenticated remote exploitation of public-facing web applications (T1190), resulting in arbitrary JavaScript code execution in the browser context (T1059.007).

Confidence: HIGH · MITRE ATT&CK Enterprise v19.0

References