
Demuestra una lectura/escritura crítica fuera de límites (OOB) de WebAssembly mediante la confusión de índices de tabla, filtrando memoria del host y permitiendo potencialmente la ejecución de código en runtimes de WASM.
Un módulo de WebAssembly utiliza una función importada sin comprobación de límites en un índice de array. Un atacante puede proporcionar un índice fuera de límites para leer o escribir fuera de la memoria lineal, lo que podría filtrar secretos del host o lograr la ejecución de código en el runtime de WASM.
unsafe que desplaza un puntero crudo sin limitar el índice a la longitud del 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
La salida muestra un valor de memoria fuera del array.