Критическая уязвимость в библиотеке vm2 для Node.js позволяет атакующим выходить из песочницы и исполнять произвольный код на хост-системе. Уязвимость с идентификатором CVE-2026-26956 затрагивает версию библиотеки 3.10.4, но возможно, что более ранние версии также подвержены атаке.
Почему эта уязвимость важна
Библиотека vm2 используется для выполнения небезопасного JavaScript-кода в ограниченной среде. Она широко применяется в различных платформах, автоматизированных инструментах и SaaS-приложениях для обработки пользовательских скриптов, что делает её эксплойт потенциально опасным для множества компаний. В настоящее время на npm библиотека имеет более 1,3 миллиона загрузок в неделю.Технические детали уязвимости
Проблема возникает из-за некорректной обработки исключений между песочницей и хост-системой. Библиотека полагается на механизмы защиты на уровне JavaScript, чтобы предотвратить доступ к хостовым ошибкам, но обработка исключений в WebAssembly может нарушить эти меры. Атака предполагает использование специального TypeError, что позволяет злоумышленникам скомпрометировать окружение и получить доступ к внутренним объектам Node.js, таким как объект process.По информации разработчика, обновление до версии 3.10.5 или более поздней существенно снижает риск эксплуатации этой уязвимости. Это уже не первый случай с уязвимостями в библиотеке vm2: ранее были зафиксированы похожие проблемы, такие как CVE-2026-22709, что подтверждает сложность безопасной изоляции небезопасного кода.
Если вы используете vm2
Для пользователей vm2 критически важно обновить библиотеку до последней версии, чтобы минимизировать риски. Уязвимость может серьезно повлиять на безопасность серверов и сервисов, использующих библиотеку для выполнения пользовательских скриптов. Если ваша организация полагается на vm2, планируйте необходимые тесты и обновления в ближайшее время.Следующий шаг — следить за обновлениями и рекомендациями по безопасности, чтобы не упустить свежие эти о возможных угрозах.

