vm2 — это виртуальная машина/песочница с открытым исходным кодом для Node.js. С версий 3.9.6 по 3.10.5 мост vm2 предоставляет изменяемые прокси для реальных внутренних прототипов хост-области, а затем перенаправляет записи песочницы в базовые объекты хоста с помощью другихReflectSet() иotherReflectDefineProperty(), что позволяет управляемому злоумышленником JavaScript, работающему на виртуальной машине по умолчанию или унаследованному NodeVM, изменять общий хост Object.prototype, Array.prototype и Function.prototype. изнутри песочницы Эта уязвимость исправлена в версии 3.11.0.
Показать оригинальное описание (EN)
vm2 is an open source vm/sandbox for Node.js. From 3.9.6 to 3.10.5, vm2's bridge exposes mutable proxies for real host-realm intrinsic prototypes and then forwards sandbox writes into the underlying host objects with otherReflectSet() and otherReflectDefineProperty(), which lets attacker-controlled JavaScript running in a default VM or inherited NodeVM mutate shared host Object.prototype, Array.prototype, and Function.prototype from inside the sandbox This vulnerability is fixed in 3.11.0.
Характеристики атаки
Последствия
Строка CVSS v3.1
Тип уязвимости (CWE)
Уязвимые продукты 1
| Конфигурация | От (включительно) | До (исключительно) |
|---|---|---|
|
Vm2_Project Vm2
cpe:2.3:a:vm2_project:vm2:*:*:*:*:*:node.js:*:*
|
3.9.6
|
3.11.0
|