Description
Wasmtime is a runtime for WebAssembly. Prior to version 38.0.4, 37.0.3, 36.0.3, and 24.0.5, Wasmtime's Rust embedder API contains an unsound interaction where a WebAssembly shared linear memory could be viewed as a type which provides safe access to the host (Rust) to the contents of the linear memory. This is not sound for shared linear memories, which could be modified in parallel, and this could lead to a data race in the host. Patch releases have been issued for all supported versions of Wasmtime, notably: 24.0.5, 36.0.3, 37.0.3, and 38.0.4. These releases reject creation of shared memories via `Memory::new` and shared memories are now excluded from core dumps. As a workaround, eembeddings affected by this issue should use `SharedMemory::new` instead of `Memory::new` to create shared memories. Affected embeddings should also disable core dumps if they are unable to upgrade. Note that core dumps are disabled by default but the wasm threads proposal (and shared memory) is enabled by default.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| bytecodealliance | wasmtime | >= 38.0.1, < 38.0.4, >= 37.0.0, < 37.0.3, >= 26.0.0, < 36.0.3, < 24.0.5 | — |
Fixed in Linux distributions
Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.
Debian
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Debian 14 | rust-wasmtime | 27.0.0+dfsg-2 | — |
| Debian 13 | rust-wasmtime | No fix yet | — |
Ubuntu
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu 26.10 | rust-wasmtime | No fix yet | — |
| Ubuntu 26.04 LTS | rust-wasmtime | No fix yet | — |
| Ubuntu 25.10 | rust-wasmtime | No fix yet | — |
| Ubuntu 24.04 LTS | rust-wasmtime | No fix yet | — |
Wolfi
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Wolfi rolling | wash | No fix yet | — |
| Wolfi rolling | wasmcloud | 1.9.1-r0 | — |
| Wolfi rolling | wizer | 10.0.0-r3 | — |
| Wolfi rolling | yara-x | 1.9.0-r2 | — |
| Wolfi rolling | zed | 0.228.0-r3 | — |
| Wolfi rolling | zellij | 0.44.0-r0 | — |
Affected packages
| Ecosystem | Package | Affected | Fixed | Record |
|---|---|---|---|---|
| crates.io | wasmtime | >= 38.0.0, < 38.0.4 | 38.0.4 | GHSA-hc7m-r6v8-hg9q |
| crates.io | wasmtime | >= 37.0.0, < 37.0.3 | 37.0.3 | GHSA-hc7m-r6v8-hg9q |
| crates.io | wasmtime | >= 26.0.0, < 36.0.3 | 36.0.3 | GHSA-hc7m-r6v8-hg9q |
| crates.io | wasmtime | < 24.0.5 | 24.0.5 | GHSA-hc7m-r6v8-hg9q |
| crates.io | wasmtime | >= 0.0.0-0, < 24.0.5 · >= 25.0.0, < 36.0.3 · >= 37.0.0, < 37.0.3 · >= 38.0.0, < 38.0.4 | 24.0.5, 36.0.3, 37.0.3, 38.0.4 | RUSTSEC-2025-0118 |
References
- https://github.com/bytecodealliance/wasmtime/security/advisories/GHSA-hc7m-r6v8-hg9q
- https://github.com/bytecodealliance/wasmtime/commit/9ebb6934f00d58b92fb68ed0e0b16c0ae828ca10
- https://docs.rs/wasmtime/latest/wasmtime/struct.Memory.html#method.new
- https://docs.rs/wasmtime/latest/wasmtime/struct.SharedMemory.html#method.new
- https://docs.wasmtime.dev/stability-release.html
- https://github.com/bytecodealliance/wasmtime/releases/tag/v38.0.4