
Demonstriert eine kritische WebAssembly-OOB-Lese-/Schreib-Schwachstelle durch Tabellenindex-Verwechslung, die Host-Speicher preisgibt und möglicherweise Codeausführung in WASM-Laufzeitumgebungen ermöglicht.
Ein WebAssembly-Modul verwendet eine importierte Funktion ohne Grenzüberprüfung bei einem Array-Index. Ein Angreifer kann einen Index außerhalb der Grenzen angeben, um außerhalb des linearen Speichers zu lesen oder zu schreiben, wodurch möglicherweise Host-Geheimnisse preisgegeben werden oder eine Codeausführung in der WASM-Laufzeitumgebung erreicht wird.
unsafe-Code, der einen Rohzeiger verschiebt, ohne den Index auf die Array-Länge zu begrenzen.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
Die Ausgabe zeigt einen Speicherwert außerhalb des Arrays.