Ecosyste.ms: Advisories

An open API service providing security vulnerability metadata for many open source software ecosystems.

Security Advisories: GSA_kwCzR0hTQS00bXE0LTdydzMtdm01as4AA3ui

Wasmer filesystem sandbox not enforced

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.

Permalink: https://github.com/advisories/GHSA-4mq4-7rw3-vm5j
JSON: https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS00bXE0LTdydzMtdm01as4AA3ui
Source: GitHub Advisory Database
Origin: Unspecified
Severity: High
Classification: General
Published: 5 months ago
Updated: 4 months ago


CVSS Score: 8.4
CVSS vector: CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

Identifiers: GHSA-4mq4-7rw3-vm5j, CVE-2023-51661
References: Repository: https://github.com/wasmerio/wasmer
Blast Radius: 1.0

Affected Packages

cargo:wasmer-cli
Dependent packages: 0
Dependent repositories: 0
Downloads: 23,900 total
Affected Version Ranges: >= 3.0.0, < 4.2.4
Fixed in: 4.2.4
All affected versions: 3.0.0, 3.0.1, 3.0.2, 3.0.3, 3.1.0, 3.1.1, 3.2.0, 3.2.1, 3.3.0, 4.0.0, 4.1.0, 4.1.2, 4.2.0, 4.2.1, 4.2.2, 4.2.3
All unaffected versions: 1.0.1, 2.0.0, 2.1.0, 2.1.1, 2.2.0, 2.2.1, 2.3.0, 4.2.4, 4.2.5, 4.2.6, 4.2.8