Две критические уязвимости в Wasmtime позволяют вредоносным модулям WebAssembly выходить из песочницы
В WebAssembly-рантайме Wasmtime обнаружены две критические уязвимости, позволяющие вредоносному модулю WebAssembly выйти за пределы песочницы, предназначенной для его изоляции. Для эксплуатации атакующему необходимо, чтобы уязвимая сборка Wasmtime скомпилировала подконтрольный ему модуль; одна из проблем затрагивает только системы на архитектуре ARM64. Исправленные версии уже выпущены сопровождающими проекта.
Подробности
По данным сопровождающих проекта, для эксплуатации атакующему в первую очередь необходимо, чтобы уязвимая сборка Wasmtime скомпилировала подконтрольный ему модуль. То есть речь идёт о сценарии, в котором злоумышленник может передать свой WebAssembly-модуль на компиляцию в уязвимый рантайм. Одна из двух уязвимостей затрагивает исключительно системы на архитектуре ARM64 — на других платформах она неприменима. Обе проблемы классифицированы как критические, поскольку их успешная эксплуатация приводит к выходу за границы песочницы. Исправленные версии Wasmtime были выпущены сопровождающими проекта.Что делать
- Обновите Wasmtime до исправленной версии, выпущенной сопровождающими проекта, — это первоочередная мера для всех, кто использует рантайм в продакшене. - Проверьте, встроен ли Wasmtime в используемое вами стороннее программное обеспечение, и уточните у поставщиков наличие обновлений с исправлениями. - Если обновление невозможно в кратчайшие сроки, ограничьте возможность компиляции недоверенных WebAssembly-модулей в уязвимых сборках — именно это условие необходимо для эксплуатации. - Уделите дополнительное внимание системам на архитектуре ARM64: одна из уязвимостей проявляется только на них. - Отслеживайте рекомендации сопровождающих проекта для получения актуальной информации об уязвимостях и сроках устранения. Обе уязвимости подчёркивают, что безопасность WebAssembly целиком зависит от корректности реализации рантайма: обход песочницы превращает изоляцию недоверенного кода из защитного механизма в точку входа для атаки. Своевременное обновление Wasmtime и контроль над тем, какие модули допускаются к компиляции, позволяют закрыть этот вектор.Источник: The Hacker News

