
Démontre une lecture/écriture hors limites (OOB) critique de WebAssembly via une confusion d'index de table, divulguant la mémoire hôte et permettant potentiellement l'exécution de code dans les environnements d'exécution WASM.
Un module WebAssembly utilise une fonction importée sans vérification des limites sur un index de tableau. Un attaquant peut fournir un index hors limites pour lire ou écrire en dehors de la mémoire linéaire, ce qui peut potentiellement divulguer des secrets de l'hôte ou permettre l'exécution de code dans le runtime WASM.
unsafe décalant un pointeur brut sans borner l'index à la longueur du tableau.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 sortie affiche une valeur mémoire située en dehors du tableau.