GHSA-4mq4-7rw3-vm5j
Wasmer filesystem sandbox not enforced
Packages
| Ecosystem | Package | Affected | Fixed in |
|---|---|---|---|
| crates.io | wasmer-cli | >= 3.0.0, < 4.2.4 | 4.2.4 |
Details
As written in the advisory (Markdown source, shown as plain text).
### Summary
As of Wasmer version v4.2.3, Wasm programs can access the filesystem outside of the sandbox.
### Details
https://github.com/wasmerio/wasmer/issues/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.
References
External links from the advisory. They lead to third-party sites.
- https://github.com/wasmerio/wasmer/security/advisories/GHSA-4mq4-7rw3-vm5j
- https://nvd.nist.gov/vuln/detail/CVE-2023-51661
- https://github.com/wasmerio/wasmer/issues/4267
- https://github.com/wasmerio/wasmer/commit/4d63febf9d8b257b0531963b85df48d45d0dbf3c
- https://github.com/wasmerio/wasmer/commit/e3923612c23123025c26f982d390e34df7df030f
- https://github.com/wasmerio/wasmer