Reflected cross-site scripting (XSS) In vega-functions
Description
vega-functions vulnerable to Cross-site Scripting via setdata function
Impact
For sites that allow users to supply untrusted user input, malicious use of an internal function (not part of the public API) could be used to run unintentional javascript (XSS).
Patches
Fixed in vega-functions 6.1.1
Workarounds
There is no workaround besides upgrading. Using vega.expressionInterpreter as described in CSP safe mode does not prevent this issue.
Exploit Proof of Concept
Vega's expression modify() function, used by setdata, allows attacker to control both the method called and the values supplied, which results to XSS . This was a previous POC:
{ "$schema": "https://vega.github.io/schema/vega/v6.json", "data": [ { "name": "table", "values": [ {"category": "A", "amount": 28} ]...
Mitigation
Update Impact
Minimal update. May introduce new vulnerabilities or breaking changes.
Ecosystem | Package | Affected version | Patched versions |
|---|---|---|---|
npm | 6.1.1 | ||
debian 14 | 5.33.1+ds+~cs5.3.0-2 | ||
debian 12 | - | ||
debian 13 | - |
Aliases
References