Уязвимость компилятора Cranelift (ранее Cretonne) среды выполнения для WebAssembly-приложений Wasmtime связана с выходом операции за границы буфера в памяти при определении правил линейной адресации памяти. Эксплуатация уязвимости может позволить нарушителю, действующему удаленно, выполнить произвольный код или вызвать отказ в обслуживании
Использование рекомендаций:
https://github.com/bytecodealliance/wasmtime/commit/63fb30e4b4415455d47b3da5a19d79c12f4f2d1f
https://github.com/bytecodealliance/wasmtime/security/advisories/GHSA-ff4p-7xrq-q5r8
Компенсирующие меры:
При невозможности обновить версию Wasmtime следует использовать опцию "Config::static_memory_maximum_size(0)" для включения обязательной отдельной проверки границ при любом доступе к линейной памяти (приводит к существенному снижению производительности).
Другим вариантом является использование настройки "Config::static_memory_guard_size(1 < 36)" для увеличения размера в байтах защитной области памяти (приводит к резервированию большого объёма виртуальной памяти и ограничению числа одновременно выполняемых WebAssembly-приложений).
Дополнительная информация о конфигуративных настройках доступна по ссылке:
https://docs.rs/wasmtime/latest/wasmtime/struct.Config.html#method.static_memory_guard_size
| Балл | 10 — критическая опасность |