p PatchFirst

CVE-2025-64345

CVE-2025-64345 · Wasmtime provides unsound API access to a WebAssembly shared linear memory

This page contains facts from public vulnerability sources. Check the original advisory before updating.

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.

CVSS 1.8 · Low · EPSS 0.1% · Fix available

Published
Updated

Stack: system

Affected products and versions

  • wasmtime

    Versions
    • >= 38.0.1, < 38.0.4: Affected
    • >= 37.0.0, < 37.0.3: Affected
    • >= 26.0.0, < 36.0.3: Affected
    • < 24.0.5: Affected

    No fix published

  • rust-wasmtime Debian:13

    Versions
    • 26.0.1+dfsg-10
    • 26.0.1+dfsg-3
    • 26.0.1+dfsg-4
    • 26.0.1+dfsg-5
    • 26.0.1+dfsg-6
    • 26.0.1+dfsg-7
    • 26.0.1+dfsg-8
    • 26.0.1+dfsg-9
    • 27.0.0+dfsg-2
    • 27.0.0+dfsg-3
    • 27.0.0+dfsg-4
    • 28.0.1+dfsg-1
    • 28.0.1+dfsg-2
    • 28.0.1+dfsg-3
    • 29.0.1+dfsg-1
    • 29.0.1+dfsg-2
    • 29.0.1+dfsg-3
    • 29.0.1+dfsg-4
    • 29.0.1+dfsg-5
    • 29.0.1+dfsg-6
    • 29.0.1+dfsg-7
    • 29.0.1+dfsg-8
    • 36.0.11+dfsg-1
    • 36.0.12+dfsg-1
    • 36.0.12+dfsg-2
    • 36.0.12+dfsg-3
    • 36.0.13+dfsg-1
    • 36.0.5+dfsg-1
    • 36.0.5+dfsg-2
    • 36.0.5+dfsg-3
    • 36.0.5+dfsg-4
    • 36.0.5+dfsg-5
    • 36.0.6+dfsg-1
    • 36.0.6+dfsg-2
    • 36.0.6+dfsg-3
    • 36.0.6+dfsg-4
    • 36.0.6+dfsg-5
    • 36.0.6+dfsg-6
    • 36.0.6+dfsg-7
    • 36.0.7+dfsg-1
    • 36.0.8+dfsg-1
    • 36.0.9+dfsg-1
    • 36.0.9+dfsg-2
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

  • rust-wasmtime Debian:14

    Versions
    • 26.0.1+dfsg-10
    • 26.0.1+dfsg-3
    • 26.0.1+dfsg-4
    • 26.0.1+dfsg-5
    • 26.0.1+dfsg-6
    • 26.0.1+dfsg-7
    • 26.0.1+dfsg-8
    • 26.0.1+dfsg-9
    Affected ranges
    • ECOSYSTEM: < 27.0.0+dfsg-2

    Update to 27.0.0+dfsg-2

  • rust-wasmtime Ubuntu:24.04:LTS

    Versions
    • 10.0.1+dfsg-7
    • 15.0.1+dfsg-4
    • 16.0.0+dfsg-2
    • 16.0.0+dfsg-3
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

  • rust-wasmtime Ubuntu:25.10

    Versions
    • 26.0.1+dfsg-3
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

  • rust-wasmtime Ubuntu:26.10

    Versions
    • 36.0.5+dfsg-1
    • 36.0.13+dfsg-1
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

  • rust-wasmtime Ubuntu:26.04:LTS

    Versions
    • 26.0.1+dfsg-3
    • 26.0.1+dfsg-4
    • 28.0.1+dfsg-3
    • 29.0.1+dfsg-5
    • 36.0.5+dfsg-1
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

Original sources

Check your server →