VMTech
Обсудить проект

В isolated-vm исправили уязвимость побега JavaScript из песочницы

В isolated-vm исправили уязвимость побега JavaScript из песочницы

В Node.js-библиотеке isolated-vm исправили критическую уязвимость GHSA-864f-rcv7-6rh4, которая позволяла JavaScript-коду из песочницы воздействовать на процесс хоста. Проблема касается всех версий до 7.0.0 включительно; исправления выпущены в релизах 6.2.0 и 7.0.1. За последнюю неделю npm-пакет загрузили почти 1 млн раз.

Isolated-vm применяется для запуска недоверенного JavaScript в V8 Isolate — отдельном экземпляре движка Google V8. Такая модель позволяет параллельно выполнять изолированные окружения без общего состояния и прямого обмена объектами с основным потоком Node.js.

Ошибка оказалась в слое передачи данных

Исследователь Endor Labs Кристиан-Александру Стайку обнаружил проблему в компоненте ExternalCopy. Этот класс сериализует объекты из изолята хоста и десериализует их в гостевом изоляте, поскольку напрямую передавать JavaScript-объекты между ними нельзя.

По данным Endor Labs, путаница типов при обработке параметра transferList давала коду внутри песочницы возможность повреждать память процесса хоста. Для атаки достаточно, чтобы гостевому окружению был выдан ivm.Reference — стандартный механизм, через который хост передаёт песочнице какую-либо возможность.

Минимально подтверждённое последствие — надёжно вызываемое аварийное завершение процесса с SIGSEGV. Максимальный продемонстрированный эффект — перехват потока управления процессом хоста, то есть потенциальное удалённое выполнение кода. Полные детали эксплойта не публиковались, чтобы не упростить атаки.

Граница V8 не была скомпрометирована

Стейку отметил, что сама изоляция V8 Isolate выдержала проверку: сбой произошёл в C++-коде привязки, который передаёт значения через эту границу. Это важно для команд, использующих песочницы: безопасность определяется не только базовым механизмом изоляции, но и кодом интеграции вокруг него.

Тема особенно актуальна на фоне уязвимостей Cisco, цепочек ClickFix и роста инцидентов с агентами ИИ: уязвимостей Cisco, цепочек ClickFix и роста инцидентов с агентами ИИ, где безопасная обработка недоверенного кода и зависимостей становится частью операционной защиты.

Что проверить разработчикам

  • Обновить isolated-vm до 6.2.0 или 7.0.1 в соответствии с используемой веткой.
  • Проверить lock-файлы, контейнерные образы и среды разработки, где пакет мог остаться на уязвимой версии.
  • Пересмотреть выдачу ivm.Reference недоверенному коду и ограничить передаваемые возможности.
  • Учесть риск остановки хост-процесса при планировании мониторинга и восстановления сервисов.

Для бизнеса приоритетом должно стать быстрое обновление зависимостей в сервисах, исполняющих пользовательский или сторонний JavaScript. Исправление закрывает риск нарушения границы между гостевой песочницей и процессом приложения, а аудит выданных возможностей поможет уменьшить последствия похожих ошибок в будущем.

#cybersecurity#nodejs#javascript#appsec
Открытая аналитика
На сайте 0 просмотров
мин чтения 3 20.08.2026
Instagram

В isolated-vm исправили уязвимость побега JavaScript из песочницы

Открыть публикацию в Instagram ↗