
Dimostra una critica lettura/scrittura OOB in WebAssembly tramite confusione degli indici di tabella, con perdita di memoria dell'host e potenziale esecuzione di codice nei runtime WASM.
Un modulo WebAssembly utilizza una funzione importata senza controllo dei limiti su un indice di array. Un attaccante può fornire un indice fuori dai limiti per leggere o scrivere al di fuori della memoria lineare, potenzialmente rivelando segreti dell'host o ottenendo l'esecuzione di codice nel runtime WASM.
unsafe che applica un offset a un puntatore grezzo senza limitare l'indice alla lunghezza dell'array.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
L'output mostra un valore di memoria al di fuori dell'array.