Skip to content
OpenAdvisories
Medium · 6.9 CVE-2025-25304 EUVD-2025-4108GHSA-mp7w-mhcv-673j

Vega allows Cross-site Scripting via the vlSelectionTuples function

Published Feb 14, 2025 · Updated Feb 14, 2025 · Assigned by GitHub_M

Description

Vega is a visualization grammar, a declarative format for creating, saving, and sharing interactive visualization designs. Prior to version 5.26.0 of vega and 5.4.2 of vega-selections, the `vlSelectionTuples` function can be used to call JavaScript functions, leading to cross-site scripting.`vlSelectionTuples` calls multiple functions that can be controlled by an attacker, including one call with an attacker-controlled argument. This can be used to call `Function()` with arbitrary JavaScript and the resulting function can be called with `vlSelectionTuples` or using a type coercion to call `toString` or `valueOf`. Version 5.26.0 of vega and 5.4.2 of vega-selections fix this issue.

Affected products

VendorProductAffectedFixed
vega vega < 5.26.0 —

Fixed in Linux distributions

Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.

ReleasePackageFixed inAdvisory
Debian 14 vega.js 5.28.0+ds+~cs5.3.0-1 —
Debian 13 vega.js 5.28.0+ds+~cs5.3.0-1 —
Debian 12 vega.js No fix yet —
ReleasePackageFixed inAdvisory
Ubuntu 26.10 vega.js No fix yet —
Ubuntu 26.04 LTS vega.js No fix yet —
Ubuntu 25.10 vega.js No fix yet —
Ubuntu 24.04 LTS vega.js No fix yet —

Affected packages

EcosystemPackageAffectedFixedRecord
npm vega < 5.26.0 5.26.0 GHSA-mp7w-mhcv-673j
npm vega-selections < 5.4.2 5.4.2 GHSA-mp7w-mhcv-673j

References