В библиотеке vm2 обнаружили 12 критических уязвимостей, которые позволяют выйти из песочницы и выполнить произвольный код на хост-системе.
vm2 — это open-source библиотека для запуска недоверенного JavaScript-кода в изолированной среде. Она использует перехват и проксирование JavaScript-объектов, чтобы ограничить доступ к окружению хоста.
Среди выявленных проблем:
CVE-2026-24118 — выход из песочницы через "lookupGetter". Затрагивает версии до 3.10.4 включительно, исправлена в 3.11.0.
CVE-2026-24120 — обход исправления для CVE-2023-37466 через свойство species объектов Promise. Затрагивает версии до 3.10.3, исправлена в 3.10.5.
CVE-2026-24781 — выход из песочницы через функцию inspect. Исправление добавлено в 3.11.0.
CVE-2026-26332 — эксплуатация через SuppressedError. Исправлена в 3.11.0.
CVE-2026-26956 — ошибка в механизме защиты при приведении Symbol к строке, позволяющая выполнить код на хосте. Исправлена в 3.10.5.
CVE-2026-43997 — инъекция кода с получением доступа к host Object и выходом из песочницы. Исправлена в 3.11.0.
CVE-2026-43999 — обход allowlist в NodeVM с возможностью загрузки запрещённых модулей вроде child_process и удалённого выполнения команд. Исправлена в 3.11.0.
CVE-2026-44005 — выход из песочницы и prototype pollution через управляемый JavaScript-код. Исправлена в 3.11.0.
CVE-2026-44006 — инъекция кода через BaseHandler.getPrototypeOf. Исправлена в 3.11.0.
CVE-2026-44007 — ошибка контроля доступа, позволяющая выполнять команды ОС на хосте. Исправлена в 3.11.1.
CVE-2026-44008 — выход из песочницы через neutralizeArraySpeciesBatch(). Исправлена в 3.11.2.
CVE-2026-44009 — эксплуатация через null proto exception. Исправлена в 3.11.2.
Большинство уязвимостей получили оценку CVSS 9.8 или выше. Некоторые из них имеют максимальный рейтинг 10.0.
Раскрытие информации произошло спустя несколько месяцев после устранения другой критической проблемы CVE-2026-22709, которая также позволяла выйти из песочницы и выполнить произвольный код на хосте.
Поддерживающий проект разработчик Патрик Симек ранее уже отмечал, что в будущем могут появляться новые способы обхода защиты vm2. Пользователям библиотеки рекомендовали обновиться до версии 3.11.2.
Источник: HN