Wasmtime provides unsound API access to a WebAssembly shared linear memory
Key facts
- Attack vector
- Local
- Privileges required
- High
- User interaction
- Required
- Attack complexity
- High
- Impact type
- —
- Confidentiality · integrity · availability
- None · Low · None
- Fix status
- Partial Red Hat: 1 without a fix
Attack profile from CVSS 3.1 · CNA. Fix status from CNA, GitHub and Red Hat.
Summary
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.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- No
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| bytecodealliance | wasmtime | 38.0.1 to before 38.0.4; 37.0.0 to before 37.0.3; 26.0.0 to before 36.0.3; before 24.0.5 | 38.0.4, 37.0.3, 36.0.3, 24.0.5 | Patch available | CNA |
| — | wasmtime (crates.io) | 38.0.0 to before 38.0.4 | 38.0.4 | Patch available | GHSA-hc7m-r6v8-hg9q |
| — | wasmtime (crates.io) | 37.0.0 to before 37.0.3 | 37.0.3 | Patch available | GHSA-hc7m-r6v8-hg9q |
| — | wasmtime (crates.io) | 26.0.0 to before 36.0.3 | 36.0.3 | Patch available | GHSA-hc7m-r6v8-hg9q |
| — | wasmtime (crates.io) | before 24.0.5 | 24.0.5 | Patch available | GHSA-hc7m-r6v8-hg9q |
- wasmtime Vendorbytecodealliance Affected 38.0.1 to before 38.0.4; 37.0.0 to before 37.0.3; 26.0.0 to before 36.0.3; before 24.0.5 Fixed in 38.0.4, 37.0.3, 36.0.3, 24.0.5 Patch available CNA
- wasmtime (crates.io) Vendor— Affected 38.0.0 to before 38.0.4 Fixed in 38.0.4 Patch available GHSA-hc7m-r6v8-hg9q
- wasmtime (crates.io) Vendor— Affected 37.0.0 to before 37.0.3 Fixed in 37.0.3 Patch available GHSA-hc7m-r6v8-hg9q
- wasmtime (crates.io) Vendor— Affected 26.0.0 to before 36.0.3 Fixed in 36.0.3 Patch available GHSA-hc7m-r6v8-hg9q
- wasmtime (crates.io) Vendor— Affected before 24.0.5 Fixed in 24.0.5 Patch available GHSA-hc7m-r6v8-hg9q
CPE names Threatist (inferred) · 1
Inferred from how NVD named this product before; not given by a source.
| CPE | Versions | Role | Vendor |
|---|---|---|---|
| cpe:2.3:a:bytecodealliance:wasmtime:*:*:*:*:*:*:*:* | — | — | bytecodealliance |
- cpe:2.3:a:bytecodealliance:wasmtime:*:*:*:*:*:*:*:* Versions — — ·bytecodealliance
Remediation
- Fix · CNA wasmtime (bytecodealliance) Fixed in 38.0.4, 37.0.3, 36.0.3, 24.0.5
- Fix · GHSA-hc7m-r6v8-hg9q wasmtime (crates.io) Fixed in 38.0.4 Advisory →
- Fix · GHSA-hc7m-r6v8-hg9q wasmtime (crates.io) Fixed in 37.0.3 Advisory →
- Fix · GHSA-hc7m-r6v8-hg9q wasmtime (crates.io) Fixed in 36.0.3 Advisory →
- Fix · GHSA-hc7m-r6v8-hg9q wasmtime (crates.io) Fixed in 24.0.5 Advisory →
Vendor assessments
Red Hat
Red Hat rating: Low. Red Hat's page for this CVE →
| Product | Status | Plan or fix |
|---|---|---|
| Red Hat Connectivity Link 1 | Affected | No fix yet: Fix deferred |
Timeline
- 2026-10-02 Threatist record created from CVE-2025-64345
- 2026-10-03 Alias added: GHSA-hc7m-r6v8-hg9q
References
Other 8
- 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
- https://github.com/bytecodealliance/wasmtime
- https://rustsec.org/advisories/RUSTSEC-2025-0118.html
More bytecodealliance vulnerabilities
- TI-2026-85541 WAMR fast interpreter loader heap overflow via constant deduplication mismatch CVSS 4.0HIGH 8.8
- TI-2024-16741 An issue in bytecodealliance wasm-micro-runtime before v.b3f728c and fixed in commit… CVSS 3.1HIGH 8.8
- TI-2024-22658 An out-of-bound memory read vulnerability was discovered in Bytecode Alliance… CVSS 3.1HIGH 7.5
- TI-2024-18300 wasm-micro-runtime (aka WebAssembly Micro Runtime or WAMR) 06df58f is vulnerable to NULL… CVSS 3.1HIGH 7.5
- TI-2023-26034 An heap overflow vulnerability was discovered in Bytecode alliance wasm-micro-runtime… CVSS 3.1HIGH 7.5
- TI-2025-33969 WebAssembly Micro Runtime's `--addr-pool` option allows all IPv4 addresses when subnet mask is not specified CVSS 4.0MEDIUM 6.9
Sources
- CVE-2025-64345 · CVE Program
- CVE-2025-64345 · NVD
- FIRST EPSS
- GHSA-hc7m-r6v8-hg9q · GitHub Advisory Database · CC BY 4.0
- CVE-2025-64345 · Red Hat security data · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences