GMS-2023-583: Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')
Vega is a visualization grammar, a declarative format for creating, saving, and sharing interactive visualization designs. The Vega scale
expression function has the ability to call arbitrary functions with a single controlled argument. The scale expression function passes a user supplied argument group to getScale, which is then used as if it were an internal context. The context.scales[name].value is accessed from group and called as a function back in scale. This can be exploited to escape the Vega expression sandbox in order to execute arbitrary JavaScript. This issue has been fixed in version 5.13.1.
References
- github.com/advisories/GHSA-4vq7-882g-wcg4
- github.com/vega/vega/releases/tag/v5.23.0
- github.com/vega/vega/security/advisories/GHSA-4vq7-882g-wcg4
- github.dev/vega/vega/blob/72b9b3bbf912212e7879b6acaccc84aff969ef1c/packages/vega-functions/src/functions/scale.js
- github.dev/vega/vega/blob/72b9b3bbf912212e7879b6acaccc84aff969ef1c/packages/vega-functions/src/scales.js
- vega.github.io/editor/
Detect and mitigate GMS-2023-583 with GitLab Dependency Scanning
Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Learn more about Dependency Scanning →