
Демонстрирует критическую уязвимость чтения/записи вне границ (OOB) в WebAssembly, вызванную путаницей индексов таблицы, что приводит к утечке памяти хоста и потенциально позволяет выполнение кода в средах выполнения WASM.
Модуль WebAssembly использует импортированную функцию без проверки границ индекса массива. Злоумышленник может указать индекс за пределами допустимого диапазона, чтобы читать или записывать данные за пределами линейной памяти, что потенциально может привести к утечке секретов хоста или выполнению кода в среде выполнения WASM.
unsafe, смещающий сырой указатель без ограничения индекса длиной массива.rustup target add wasm32-unknown-unknown
rustc --target wasm32-unknown-unknown -O wasm_vuln.rs -o wasm_vuln.wasm
pip install wasmer wasmer_compiler_cranelift
python exploit_wasm_oob.py
Вывод показывает значение памяти за пределами массива.