External risk intelligence

Vega DOM XSS via Global Scope Misconfiguration

CVE advisorySeverity: CRITICAL (CVSS 9.3)

CVE-2025-65110

Vega is a visualization library used in web applications. This vulnerability requires specific developer-side misconfigurations, such as exposing library instances to the global window, and relies on user interaction with untrusted input. It is not an inherently internet-facing service, making external reachability dependent on application-specific design.

Cross-site Scripting

Vega Project Vega

before 5.6.36.0.0 to before 6.1.2

Halo Surface Signal: 3 out of 5 — possibly public-facing.

External exposure likelihood

Horizon Alert

Summary of the vulnerability and why it matters

Vega, a visualization tool, has a flaw that could allow malicious code execution in web applications that use it in specific ways and allow user-provided data definitions. This could lead to the theft of sensitive information or manipulation of displayed data, compromising application integrity.

  • Flaw allows malicious code execution via user-provided data.
  • Matters due to potential data theft and manipulation.
  • Confirm if your applications use this library and expose it.

Attack Path

How an attacker could exploit the issue

An attacker could exploit this vulnerability by tricking a user into opening a crafted Vega specification. If an application incorrectly exposes Vega components to the global scope and allows user-defined specifications, an attacker can achieve arbitrary JavaScript execution within the user's browser. This could lead to the theft of sensitive information or unauthorized actions.

  • Requires specific application misconfigurations.
  • Triggered by user opening a malicious specification.
  • Risk of arbitrary code execution and data theft.

Live Threat

Current exploitation, exposure, and threat context

When applications expose Vega library and `vega.View` instances to the global scope and permit user-defined JSON definitions, they are susceptible to arbitrary JavaScript execution. This could affect application confidentiality and integrity by allowing attackers to steal sensitive information like authentication tokens, alter displayed data, or perform unauthorized actions.

  • Application data and authentication tokens.
  • User interaction with malicious Vega specifications.
  • Theft of sensitive information and unauthorized actions.

Operational Fix

Recommended remediation, mitigation, and detection steps

Application owners and platform teams are likely responsible for addressing this DOM XSS vulnerability in Vega. The first practical step is to identify all instances of the affected Vega library within your applications. Confirm which of these instances are exposed to user-supplied JSON definitions and whether they are accessible from the internet or handle critical data. Once identified and assessed for risk, engage the accountable teams to plan remediation, which may involve coordinating with vendors or implementing development-specific workarounds.

  • Identify application owners and affected instances.
  • Verify user-supplied JSON and global scope exposure.
  • Plan remediation based on risk and vendor coordination.

Supplementary metadata

Validate whether this threat affects your internet-facing exposure.

Halo Threat Intelligence helps prioritize remediation with Halo Surface Signal and H/A/L/O context. Start exposure validation with a free external attack surface trial.

Frequently asked questions

What is the Vega software library?

Vega is a declarative visualization grammar used by developers to design, save, and share interactive charts and graphs within web applications. It serves as a foundation for building visual data interfaces, essentially functioning as an engine that turns structured specifications into graphical components in a browser.

What does CWE-79 mean in the context of CVE-2025-65110?

CWE-79 refers to Improper Neutralization of Input During Web Page Generation, commonly known as Cross-Site Scripting (XSS). In this vulnerability, it means that if an application incorrectly handles user-provided data, an attacker can inject and execute their own JavaScript code, which the browser then runs as if it were legitimate part of the application.

How is this Vega vulnerability triggered?

The bug is triggered when a user is tricked into opening a malicious visualization specification in an application that has two specific issues: it allows users to provide their own JSON definitions, and it exposes library components like 'vega.View' to the global window scope. Simply having the library installed is not enough; the application must be configured in this specific, insecure manner to be vulnerable.

How does Halo Surface Signal categorize this risk?

Halo Surface Signal assesses this as a 'Possible' risk. Because this is not an inherently internet-facing service, its reachability depends on your specific application design. You should prioritize checking internal web applications that handle sensitive user data or authentication, as these provide the most critical targets if an attacker manages to trigger the vulnerability.

What should I do if my team uses Vega?

First, audit your applications to determine if they expose the Vega library or view instances to the global window, particularly in environments that accept user-defined visualization files. If this configuration exists, update to the patched versions of vega-selections, or as a workaround, remove any instances of the library that are attached to global variables.

References