CVE-2025-64345: Wasmtime provides unsound API access to a WebAssembly shared linear memory
Affects wasmtimeSource GCVE Database
Not known to be exploited · CVSS 1.8 Low : upgrade to 38.0.4 when convenient.
Data as of 13 Nov 2026, 18:37 UTC
Thin evidence
One scorer or none| CNA (GitHub_M) | CVSS 3.1 | 1.8 |
|---|
- Patch
- Available – fixed in 38.0.4, 37.0.3, 36.0.3 +1
CVSS:3.1/AV:L/AC:H/PR:H/UI:R/S:U/C:N/I:L/A:NExploitation evidence
Disclosed: evidence found.
CVE published 12 Nov 2025
Detectable: no evidence on record.
No public nuclei template indexed
Weaponized: no evidence on record.
No public exploit code indexed in Metasploit or Exploit-DB
Exploited in the wildExploited: no evidence on record.
Not in CISA KEV and no source reports exploitation
Observed by OffSeq MirageSeen by Mirage: no evidence on record.
No attack traffic recorded by OffSeq Mirage sensors
A missing step is not evidence of safety. Sources: cve.org (opens in a new tab), the Metasploit, Exploit-DB and nuclei-templates index as of 13 Nov 2026.
What to do
Upgrade to a fixed release listed under Affected software.
Affected software
| Product | Affected | Fixed in |
|---|---|---|
| crates.iowasmtime | Affected
| Fixed in
|
| crates.iowasmtime | Affected
| Fixed in
|
| crates.iowasmtime | Affected
| Fixed in
|
| crates.iowasmtime | Affected
| Fixed in
|
Check your own hosts for these packages with threat-finder (opens in a new tab), our free open-source scanner.
AI-suggested
Patch to Wasmtime versions 24.0.5, 36.0.3, 37.0.3, or 38.0.4 or later, which reject creation of shared memories via Memory::new and exclude shared memories from core dumps. Embeddings should use SharedMemory::new to create shared memories instead of Memory::new. If upgrading is not possible, disable core dumps to avoid unsynchronized reads of shared memories. Core dumps are disabled by default, but the wasm threads proposal and shared memory are enabled by default. Upgrading is strongly recommended.
Description
Wasmtime's Rust embedder API had an unsound handling of shared WebAssembly linear memories, allowing shared memories to be represented as non-shared memories. This could lead to data races in the host Rust code when shared memories are accessed concurrently. The issue arose from two API flaws: the Memory::new constructor accepting shared memory types improperly, and core dumps exposing shared memories unsafely. Patched versions reject shared memories via Memory::new and exclude them from core dumps.
References
- github.com/bytecodealliance/wasmtime/security/advisories/GHSA-hc7m-r6v8-hg9q (opens in a new tab)
- nvd.nist.gov/vuln/detail/CVE-2025-64345 (opens in a new tab)
- github.com/bytecodealliance/wasmtime/commit/9ebb6934f00d58b92fb68ed0e0b16c0ae828ca10 (opens in a new tab)
- docs.rs/wasmtime/latest/wasmtime/struct.Memory.html (opens in a new tab)
- docs.rs/wasmtime/latest/wasmtime/struct.SharedMemory.html (opens in a new tab)
- docs.wasmtime.dev/stability-release.html (opens in a new tab)
- github.com/bytecodealliance/wasmtime (opens in a new tab)
- github.com/bytecodealliance/wasmtime/releases/tag/v38.0.4 (opens in a new tab)
- rustsec.org/advisories/RUSTSEC-2025-0118.html (opens in a new tab)