В модуле песочницы vm2 нашли критический баг, позволяющий выполнить код

В модуле песочницы vm2 нашли критический баг, позволяющий выполнить код

В модуле песочницы vm2 нашли критический баг, позволяющий выполнить код

Разработчики vm2, модуля JavaScript-песочницы, выпустили патч, устраняющий критическую уязвимость. С помощью этой бреши атакующие могут выбраться за пределы песочницы и выполнить шелл-код.

Проблема затрагивает все версии vm2, включая 3.9.14. О баге 6 апреля сообщил исследователь Южной Кореи, а в прошедшую пятницу разработчики уже подготовили патч с выходом версии 3.9.15.

«Условный злоумышленник может обойти защитный периметр песочницы и получить возможность выполнить код на хосте», — объясняют девелоперы.

Уязвимость получила идентификатор CVE-2023-29017 и 9,8 балла по шкале CVSS. Корень проблемы кроется в некорректном способе обработки ошибок, возникающих в асинхронных функциях.

Сама библиотека vm2 пользуется популярностью у тех, кому надо запускать подозрительный код в защищенной среде. Модуль насчитывает почти четыре миллиона загрузок еженедельно. Известно также, что vm2 используется в 721 пакете.

Специалисты KAIST подготовили сразу два варианта демонстрационного эксплойта для CVE-2023-29017.

Подпишитесь на новости

Обновите Telegram для Android: версия 13.2.2 закрыла опасную уязвимость

Telegram исправил уязвимость в HTML-виджетах, которые мессенджер открыл для ботов 9 ноября. Через ошибку скрипт из обычного сообщения мог выйти за пределы песочницы и выполнить машинный код на устройстве. Проблема находилась в движке JavaScript QuickJS, который Telegram использует в собственном форке QuickJS-ng.

Патч описан в журнале изменений песочницы виджетов Telegram на GitHub. Парсер QuickJS принимал конструкцию await using в заголовке цикла даже внутри обычных, неасинхронных функций.

В таком случае движок завершал функцию по пути для асинхронного кода и не закрывал ссылки на ее локальные переменные. Вложенные функции после возврата продолжали обращаться к уже освобожденному участку стека. Такой класс ошибок называют use-after-return.

О проблеме сообщили применительно к Telegram для Android 13.2.1, но, по данным Telegram, она затрагивала все платформы, где собирается форк движка. Исправление внесли 10 ноября: теперь парсер выдает синтаксическую ошибку на такую конструкцию. В тот же день вышла версия Telegram для Android 13.2.2.

Уязвимый код попал в основную ветку QuickJS-ng 16 мая вместе с поддержкой явного управления ресурсами. Ошибку описал разработчик Андреас Рёсдал.

9 ноября он опубликовал в репозитории QuickJS-ng аудит безопасности всего движка, проведенный с помощью модели Claude от Anthropic. В отчете 27 находок, уязвимость с await using в нем третья, с высоким уровнем опасности.

RSS: Новости на портале Anti-Malware.ru