Логотип exploitDog
Консоль
Логотип exploitDog

exploitDog

github логотип

GHSA-mp7w-mhcv-673j

Опубликовано: 14 фев. 2025
Источник: github
Github: Прошло ревью
CVSS4: 6.9

Описание

Vega allows Cross-site Scripting via the vlSelectionTuples function

Summary

The vlSelectionTuples function can be used to call JavaScript functions, leading to XSS.

Details

vlSelectionTuples calls multiple functions that can be controlled by an attacker, including one call with an attacker-controlled argument.

Example call: vlSelectionTuples([{datum:<argument>}], {fields:[{getter:<function>}]})

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.

PoC

{"$schema":"https://vega.github.io/schema/vega/v5.json","signals":[{"name":"a","init":"+{valueOf:vlSelectionTuples([{datum:'alert(1)'}],{fields:[{getter:[].at.constructor}]})[0].values[0]}"}]}

Пакеты

Наименование

vega

npm
Затронутые версииВерсия исправления

< 5.26.0

5.26.0

Наименование

vega-selections

npm
Затронутые версииВерсия исправления

< 5.4.2

5.4.2

EPSS

Процентиль: 59%
0.00386
Низкий

6.9 Medium

CVSS4

Дефекты

CWE-79

Связанные уязвимости

ubuntu
12 месяцев назад

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.

nvd
12 месяцев назад

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.

debian
12 месяцев назад

Vega is a visualization grammar, a declarative format for creating, sa ...

EPSS

Процентиль: 59%
0.00386
Низкий

6.9 Medium

CVSS4

Дефекты

CWE-79