Wasmtime - это время работы для WebAssmbly. С 25.0.0 до 36.0.7, 42.0.2 и 43.0.1, Wasmtime с его Winch (базовый) компилятором без по умолчан…
Wasmtime - это время работы для WebAssmbly. С 25.0.0 до 36.0.7, 42.0.2 и 43.0.1, Wasmtime с его Winch (базовый) компилятором без по умолчанию бэкэнд может позволить правильно построенному гостю Wasm получить доступ к памяти хостов за пределами своей линейной песочницы памяти. Эта уязвимость требует использования компилера Winch (-Ccompiler=winch). По умолчанию Wasmtime использует свой бэкэнд Cranelift, а не Winch. С Winch в теории присутствует одно и то же неверное предположение как на aarch64, так и на x86-64. Дело aarch64 имеет наблюдаемое доказательство концепции, в то время как случай x86-64 является теоретическим и может быть недоступен на практике. Эта ошибка компиляции Winch может позволить гостю Wasm получить доступ к памяти до или после области линейной памяти, независимо от того, настроены ли области до или после защиты. Доступный диапазон в первоначальном доказательстве концепции ошибки составляет до 32KiB до начала памяти или ~4GiB после начала памяти, независимо от размера областей до или после защиты или использования явной проверки границ на основе охранного региона. Тем не менее, основная ошибка предполагает, что 32-битная компенсация памяти, хранящаяся в 64-битном регистре, имеет свои верхние биты, когда она не может, и поэтому тесно связанные варианты первоначального доказательства концепции могут иметь доступ к действительно произвольной памяти в процессе. Это может привести к ошибке сегментации процесса (DoS) хост-процесса, произвольной утечке данных из процесса хоста или с записью, потенциально произвольной RCE. Эта уязвимость зафиксирована в 36.0.7, 42.0.2 и 43.0.1.
Продукт читает данные за пределами конца или до начала предназначенного буфера.
https://cwe.mitre.org/data/definitions/125.html →Открыть в коллекции CWE →Злоумышленник атакует цель, передавая входные данные, вынуждающие приложение читать за пределами границы определённого буфера. Как правило, это происходит, когда значение, определяющее начало или конец чтения, установлено на позиции за пределами допустимой области памяти буфера. Атака данного типа может привести к раскрытию конфиденциальной информации, аварийному завершению работы системы или выполнению произвольного кода.
https://capec.mitre.org/data/definitions/540.html →Открыть в коллекции CAPEC →| Продукт | Вендор | Статус |
|---|---|---|
| Отслеживается | ||
| rust-wasmtime | Отслеживается | |
| wasmtime | * | Отслеживается |