Критическая уязвимость в Wasmtime, runtime для WebAssembly-приложений
Автор
Сообщение
news_bot ®
Стаж: 6 лет 9 месяцев
Сообщений: 27286
В корректирующих обновлениях Wasmtime 6.0.1, 5.0.1 и 4.0.1 устранена уязвимость (CVE-2023-26489), которой присвоен критический уровень опасности. Уязвимость позволяет организовать запись данных в область памяти вне границы, допустимой для изолированного WebAssembly-кода, что потенциально может быть использовано атакующим для организации выполнения своего кода вне изолированного окружения WASI.
Wasmtime представляет собой runtime для выполнения WebAssembly-приложений с расширениями WASI (WebAssembly System Interface) как обычных обособленных приложений. Инструментарий написан на языке Rust, а уязвимость вызвана логической ошибкой
при определении правил линейной адресации памяти в генераторе кода Cranelift, транслирующем независимое от аппаратных архитектур промежуточное представление в исполняемый машинный код для архитектуры x86_64.
В частности, для WebAssembly-приложений рассчитывались 35-разрядные эффективные адреса вместо разрешённых в WebAssembly 33-разрядных адресов, что сдвигало границу допустимой для операций чтения и записи виртуальной памяти до 34 ГБ, в то время как настройки sandbox-окружения предоставляют защиту для 6 ГБ от базового адреса. В итоге, диапазон виртуальной памяти от 6 до 34 ГБ от базового адреса оказывался доступен для чтения и записи из WebAssembly-приложений. В данной памяти могут размещаться другие окружения WebAssembly или компоненты WebAssembly runtime.
При невозможности обновить версию Wasmtime в качестве обходных путей для блокирования ошибки упоминается указание опции "Config::static_memory_maximum_size(0)" для включения обязательной отдельной проверки границ при любом доступе к линейной памяти (приводит к существенному снижению производительности). Другим вариантом является использование настройки "Config::static_memory_guard_size(1 < 36)" для увеличения числа с сторожевых страниц памяти (Guard Page, при обращении генерируется исключение), размещаемых в проблемном диапазоне виртуальной памяти (приводит к резервированию большого объёма виртуальной памяти и ограничению числа одновременно выполняемых WebAssembly-приложений).
===========
Источник:
OpenNet.RU
===========
Похожие новости
- Главная ссылка к новости (https://groups.google.com/a/by...)
- OpenNews: Доступен Emscripten 3.0, компилятор из C/C++ в WebAssembly
- OpenNews: Mozilla, Fastly, Intel и Red Hat продвигают WebAssembly, как платформу для универсального применения
- OpenNews: Доступен предварительный вариант стандарта WebAssembly 2.0
- OpenNews: Mozilla развивает WASI для использования WebAssembly вне браузера
- OpenNews: Доступен Wasmer 3.0, инструментарий для создания приложений на базе WebAssembly
Похожие новости:
- Первый выпуск открытого многопользовательского игрового движка Ambient
- Доступен Wasmer 3.0, инструментарий для создания приложений на базе WebAssembly
- В SQLite добавлена поддержка WASM для использования СУБД в web-браузере
- Доступен предварительный вариант стандарта WebAssembly 2.0
- Вариант LibreOffice, скомпилированный в WebAssembly и работающий в web-браузере
- В основной ветке Python появилась возможность сборки для работы в браузере
- [.NET, C#, WebAssembly] Хостим WASM-приложения на github pages в два клика (перевод)
- [JavaScript, Программирование, Алгоритмы, Обработка изображений, Машинное обучение] Как мы создали Web приложение для определения лиц и масок для Google Chrome (часть 2) (перевод)
- [Обработка изображений, Браузеры, Машинное обучение, WebAssembly] Smart Engines предоставила безопасную альтернативу сервисам распознавания документов в Интернете
- Доступен Wasmer 2.0, инструментарий для создания приложений на базе WebAssembly
Теги для поиска: #_wasmtime, #_wasm, #_webassembly
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 14:07
Часовой пояс: UTC + 5
Автор | Сообщение |
---|---|
news_bot ®
Стаж: 6 лет 9 месяцев |
|
В корректирующих обновлениях Wasmtime 6.0.1, 5.0.1 и 4.0.1 устранена уязвимость (CVE-2023-26489), которой присвоен критический уровень опасности. Уязвимость позволяет организовать запись данных в область памяти вне границы, допустимой для изолированного WebAssembly-кода, что потенциально может быть использовано атакующим для организации выполнения своего кода вне изолированного окружения WASI. Wasmtime представляет собой runtime для выполнения WebAssembly-приложений с расширениями WASI (WebAssembly System Interface) как обычных обособленных приложений. Инструментарий написан на языке Rust, а уязвимость вызвана логической ошибкой при определении правил линейной адресации памяти в генераторе кода Cranelift, транслирующем независимое от аппаратных архитектур промежуточное представление в исполняемый машинный код для архитектуры x86_64. В частности, для WebAssembly-приложений рассчитывались 35-разрядные эффективные адреса вместо разрешённых в WebAssembly 33-разрядных адресов, что сдвигало границу допустимой для операций чтения и записи виртуальной памяти до 34 ГБ, в то время как настройки sandbox-окружения предоставляют защиту для 6 ГБ от базового адреса. В итоге, диапазон виртуальной памяти от 6 до 34 ГБ от базового адреса оказывался доступен для чтения и записи из WebAssembly-приложений. В данной памяти могут размещаться другие окружения WebAssembly или компоненты WebAssembly runtime. При невозможности обновить версию Wasmtime в качестве обходных путей для блокирования ошибки упоминается указание опции "Config::static_memory_maximum_size(0)" для включения обязательной отдельной проверки границ при любом доступе к линейной памяти (приводит к существенному снижению производительности). Другим вариантом является использование настройки "Config::static_memory_guard_size(1 < 36)" для увеличения числа с сторожевых страниц памяти (Guard Page, при обращении генерируется исключение), размещаемых в проблемном диапазоне виртуальной памяти (приводит к резервированию большого объёма виртуальной памяти и ограничению числа одновременно выполняемых WebAssembly-приложений). =========== Источник: OpenNet.RU =========== Похожие новости
|
|
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 14:07
Часовой пояс: UTC + 5