Ошибки в обработке процессов и имён в vm2 позволяют покинуть изолированную среду

vulnerability

Библиотека vm2, которую распространяют через пакетный менеджер NPM, содержит две уязвимости с одним и тем же итогом. Злоумышленник, действующий удалённо, получает возможность выполнить произвольный код в обход изоляции. Речь идёт о песочнице, предназначенной для запуска чужого или непроверенного кода внутри приложений на Node.js. Обе проблемы затрагивают версии библиотеки вплоть до 3.11.6 включительно, причём первая из них присутствует начиная с 3.11.3. Сведения внесены в Банк данных угроз безопасности информации (BDU) под номерами BDU:2026-14940 и BDU:2026-14944, дата выявления - 25 августа 2026 года. Производитель подтвердил обе уязвимости, а исправления уже доступны в обновлённой версии. Важнее другое: рабочие примеры эксплуатации опубликованы в открытом доступе, поэтому запаса времени на реакцию у администраторов почти нет.

Детали уязвимостей

Первая уязвимость связана с функцией подключения криптографического движка (CVE-2026-92939). Её относят к типу "управление процессом" (CWE-114), то есть библиотека неверно распоряжается переданными ей инструкциями и теряет контроль над тем, что именно исполняется. На практике нарушитель с учётной записью, обладающей минимальными правами, отправляет специально подготовленные данные и добивается исполнения своего кода за пределами песочницы. Способ эксплуатации описан как манипулирование ресурсами. Оценка по CVSS 3.1 составляет 9,9 из 10, где CVSS - это шкала оценки уязвимостей, в которой значения выше девяти относят к критическому уровню. По версии CVSS 4.0 оценка равна 9,4.

Вторая уязвимость (CVE-2026-92951) касается использования имени с неправильной ссылкой (CWE-706). Библиотека разрешает обращение по имени, за которым стоит не тот объект, что ожидался. Злоумышленник подменяет связку между именем и объектом, вследствие чего код исполняется в области, где изоляция уже не действует. Способ эксплуатации обозначен как подмена при взаимодействии. Оценки совпадают с первой уязвимостью: 9,9 по CVSS 3.1 и 9,4 по CVSS 4.0. Обе проблемы подтверждены производителем, обе признаны устранёнными в обновлении, и обе имеют готовые к применению эксплойты.

Почему это важно для широкого круга организаций. Библиотека vm2 не является прикладным продуктом, который устанавливают на рабочие места. Она служит строительным элементом для сервисов, исполняющих код третьих лиц: системы плагинов и расширений, онлайн-редакторы, платформы проверки учебных и тестовых заданий, конвейеры сборки и развёртывания. В таких сценариях песочница остаётся единственным барьером между чужим кодом и инфраструктурой. Если барьер не держит, исполняемый фрагмент получает доступ к переменным окружения, ключам доступа, сетевым соединениям и файлам процесса. Для облачного сервиса это оборачивается утечкой данных клиентов, а затем и боковым перемещением по внутренней сети, когда от одного контейнера нарушитель переходит к соседним системам.

Отдельная сложность в том, что затронутыми оказываются не только прямые зависимости. Библиотека часто приходит транзитивно, вместе с другим пакетом, и её версия не видна в файле описания зависимостей. Поэтому первым шагом стоит проверить дерево зависимостей средствами аудита пакетного менеджера, затем обновить саму библиотеку и все пакеты, которые её подтягивают. Фиксация версий в файле блокировки помогает закрепить результат: без обновлённого файла блокировки очередная сборка способна вернуть уязвимую версию обратно. Обновление программного обеспечения указано как основной способ устранения, а рекомендации производителя размещены в бюллетенях на GitHub.

Если обновление по каким-то причинам откладывается, применяют компенсационные меры. Узел с библиотекой запускают в контейнере с минимальным набором прав, ограничивают исходящие сетевые соединения, отключают доступ к файловой системе и включают наблюдение за необычной активностью процессов. Эти меры не закрывают уязвимость, зато сокращают ущерб при попытке эксплуатации. Помогает и разделение сред: код третьих лиц лучше исполнять в отдельном сегменте, не связанном напрямую с базами данных и внутренними сервисами.

Показательна сама природа этих уязвимостей. Песочницы для чужого кода привлекают внимание исследователей и злоумышленников, поскольку ошибка в них сразу даёт полный контроль над процессом. Высокая оценка по CVSS здесь сочетается с низкими требованиями к нарушителю: ему достаточно учётной записи с обычными правами, а взаимодействие с пользователем не требуется вовсе. Готовые эксплойты сокращают путь от публикации описания до реальных попыток. Поэтому проверка зависимостей и своевременное обновление остаются самой надёжной линией защиты, а отказ от запуска недоверенного кода внутри основного процесса снижает ставки в случае следующей подобной ошибки.

Ссылки

Комментарии: 0