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.
{
"cna_assigner": "GitHub_M",
"cwe_ids": [
"CWE-79"
],
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2023/26xxx/CVE-2023-26486.json",
"unresolved_ranges": [
{
"extracted_events": [
{
"range": [
{
"fixed": "5.13.1"
}
],
"source": "AFFECTED_FIELD",
"strategy": "StringRangeExpression"
}
]
},
{
"extracted_events": [
{
"range": [
{
"fixed": "5.13.1"
}
],
"source": "DESCRIPTION"
}
]
}
]
}{
"extracted_events": [
{
"original_tag": "v5.23.0",
"range": [
{
"fixed": "fb1092f6b931d450f9c210b67ae4752bd3dd461b"
}
],
"source": "REFERENCES_TAG"
},
{
"cpe": "cpe:2.3:a:vega_project:vega:*:*:*:*:*:node.js:*:*",
"range": [
{
"introduced": "0"
},
{
"fixed": "5.23.0"
}
],
"source": "CPE_RANGE"
}
]
}