vm2 — это виртуальная машина/песочница с открытым исходным кодом для Node.js. До версии 3.11.1, когда NodeVM создавалась с вложением: true, код песочницы мог безоговорочно требовать ('vm2') независимо от конфигурации require внешней виртуальной машины, включая require: false. Имея доступ к виртуальной машине 2, песочница создает новую внутреннюю NodeVM со своими собственными неограниченными настройками требований и выполняет произвольные команды ОС на хосте.
Любое приложение, которое запускает ненадежный код внутри NodeVM с вложением: true, полностью скомпрометировано. Эта уязвимость исправлена в версии 3.11.1.
Показать оригинальное описание (EN)
vm2 is an open source vm/sandbox for Node.js. Prior to 3.11.1, when a NodeVM is created with nesting: true, sandbox code can unconditionally require('vm2') regardless of the outer VM's require configuration — including require: false. With access to vm2, the sandbox constructs a new inner NodeVM with its own unrestricted require settings and executes arbitrary OS commands on the host. Any application that runs untrusted code inside a NodeVM with nesting: true is fully compromised. This vulnerability is fixed in 3.11.1.
Характеристики атаки
Последствия
Строка CVSS v3.1
Тип уязвимости (CWE)
Уязвимые продукты 1
| Конфигурация | От (включительно) | До (исключительно) |
|---|---|---|
|
Vm2_Project Vm2
cpe:2.3:a:vm2_project:vm2:*:*:*:*:*:node.js:*:*
|
— |
3.11.1
|