{"id":"UBUNTU-CVE-2025-25304","details":"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.","modified":"2026-05-20T16:20:58.183963650Z","published":"2025-02-14T20:15:00Z","upstream":["CVE-2025-25304"],"references":[{"type":"REPORT","url":"https://ubuntu.com/security/CVE-2025-25304"},{"type":"REPORT","url":"https://www.cve.org/CVERecord?id=CVE-2025-25304"},{"type":"REPORT","url":"https://github.com/vega/vega/blob/b45cf431cd6c0d0c0e1567f087f9b3b55bc236fa/packages/vega-selections/src/selectionTuples.js#L14"},{"type":"REPORT","url":"https://github.com/vega/vega/commit/9fb9ea07e27984394e463d286eb73944fa61411e"},{"type":"REPORT","url":"https://github.com/vega/vega/security/advisories/GHSA-mp7w-mhcv-673j"}],"affected":[{"package":{"name":"vega.js","ecosystem":"Ubuntu:24.04:LTS","purl":"pkg:deb/ubuntu/vega.js?arch=source&distro=noble"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["5.25.0+ds+~cs5.3.0-2","5.25.0+ds+~cs5.3.0-5"],"ecosystem_specific":{"binaries":[{"binary_version":"5.25.0+ds+~cs5.3.0-5","binary_name":"libjs-vega"},{"binary_name":"node-vega","binary_version":"5.25.0+ds+~cs5.3.0-5"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2025/UBUNTU-CVE-2025-25304.json"}},{"package":{"name":"vega.js","ecosystem":"Ubuntu:25.10","purl":"pkg:deb/ubuntu/vega.js?arch=source&distro=questing"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["5.28.0+ds+~cs5.3.0-1"],"ecosystem_specific":{"binaries":[{"binary_name":"libjs-vega","binary_version":"5.28.0+ds+~cs5.3.0-1"},{"binary_version":"5.28.0+ds+~cs5.3.0-1","binary_name":"node-vega"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2025/UBUNTU-CVE-2025-25304.json"}},{"package":{"name":"vega.js","ecosystem":"Ubuntu:26.04:LTS","purl":"pkg:deb/ubuntu/vega.js?arch=source&distro=resolute"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["5.28.0+ds+~cs5.3.0-1","5.28.0+ds+~cs5.3.0-2"],"ecosystem_specific":{"binaries":[{"binary_name":"libjs-vega","binary_version":"5.28.0+ds+~cs5.3.0-2"},{"binary_name":"node-vega","binary_version":"5.28.0+ds+~cs5.3.0-2"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2025/UBUNTU-CVE-2025-25304.json"}}],"schema_version":"1.7.5","severity":[{"type":"CVSS_V4","score":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N"},{"type":"Ubuntu","score":"medium"}]}