CVE-2026-22709

CRITICAL CVSS 3.1: 9,8 EPSS 0.04%
Обновлено 27 января 2026
vm2
Параметр Значение
CVSS 9,8 (CRITICAL)
Уязвимые версии до 3.10.2
Тип уязвимости CWE-94 (Внедрение кода), CWE-913, CWE-693
Поставщик vm2
Публичный эксплойт Нет

vm2 — это виртуальная машина/песочница с открытым исходным кодом для Node.js. В vm2 до версии 3.10.2 очистку обратного вызова Promise.prototype.then `Promise.prototype.catch` можно обойти. Это позволяет злоумышленникам выйти из «песочницы» и запустить произвольный код.

В lib/setup-sandbox.js функция обратного вызова localPromise.prototype.then очищается, но globalPromise.prototype.then не очищается. Возвращаемым значением асинхронных функций является объект globalPromise. Версия 3.10.2 устраняет проблему.

Показать оригинальное описание (EN)

vm2 is an open source vm/sandbox for Node.js. In vm2 prior to version 3.10.2, `Promise.prototype.then` `Promise.prototype.catch` callback sanitization can be bypassed. This allows attackers to escape the sandbox and run arbitrary code. In lib/setup-sandbox.js, the callback function of `localPromise.prototype.then` is sanitized, but `globalPromise.prototype.then` is not sanitized. The return value of async functions is `globalPromise` object. Version 3.10.2 fixes the issue.

Характеристики атаки

Способ атаки
По сети
Атака возможна удалённо
Сложность
Низкая
Легко эксплуатировать
Нужны права
Не требуются
Права не нужны
Участие пользователя
Не требуется
Не нужно действие пользователя

Последствия

Конфиденциальность
Высокое
Полная утечка данных
Целостность
Высокое
Полная модификация данных
Доступность
Высокое
Полный отказ в обслуживании

Строка CVSS v3.1