GMS-2023-584: Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')
(updated )
Vega is a visualization grammar, a declarative format for creating, saving, and sharing interactive visualization designs.lassoAppend' function accepts 3 arguments and internally invokes
pushfunction on the 1st argument specifying array consisting of 2nd and 3rd arguments as
pushcall argument. The type of the 1st argument is supposed to be an array, but it's not enforced. This makes it possible to specify any object with a
pushfunction as the 1st argument,
pushfunction can be set to any function that can be access via
event.view(no all such functions can be exploited due to invalid context or signature, but some can, e.g.
console.log). The issue is that
lassoAppenddoes not enforce proper types of its arguments. This issue opens various XSS vectors, but exact impact and severity depends on the environment (e.g. Core JS
setImmediatepolyfill basically allows
eval`-like functionality). This issue was patched in 5.23.0.
References
Detect and mitigate GMS-2023-584 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 →