CVE-2026-34971: Bytecode Alliance Wasmtime sandbox escape in Cranelift backend on aarch64

CVE-2026-34971 · Severity: high · CVSS 7.8 · Published 2026-04-09

Wasmtime is a tool used to run WebAssembly applications in a secure, isolated 'sandbox' environment. A flaw in its compilation process on ARM64 systems allows a malicious application to break out of this sandbox and gain full access to the host computer's memory. This could lead to the theft of sensitive data or the ability to modify system files and operations.

Technologies: wasmtime (crates.io). Vendors: crates.io.

Quick answers

Is CVE-2026-34971 exploited in the wild?
No. Junglewise Threat Intelligence has no report of CVE-2026-34971 being exploited in the wild.
How severe is CVE-2026-34971?
High severity, with a CVSS score of 7.8, published 9 April 2026.
Which products and versions are affected?
wasmtime (crates.io) SEMVER:introduced=0.0.0-0,fixed=36.0.7,introduced=37.0.0,fixed=42.0.2,introduced=43.0.0,fixed=43.0.1, SEMVER:introduced=32.0.0,fixed=36.0.7.
Is there a fix for CVE-2026-34971?
Yes. wasmtime (crates.io): upgrade to 36.0.7, 43.0.1 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
How is CVE-2026-34971 attacked?
It is attacked over the network, in a software library.
Am I affected by CVE-2026-34971?
Check whether you run wasmtime (crates.io) at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

How to fix

  • wasmtime (crates.io): upgrade to 36.0.7, 43.0.1 or later
    cargo update -p wasmtime

Technical details

A miscompilation bug exists in Wasmtime's Cranelift backend for aarch64 during instruction selection for specific heap access patterns. The vulnerability occurs when lowering a load operation of the form 'load(iadd(base, ishl(index, amt)))' where a constant 'amt' is incorrectly masked. This leads to a divergence between the address used for explicit bounds checks and the address used for the actual load, enabling a guest module to bypass memory safety boundaries. The issue specifically affects 64-bit WebAssembly linear memories when Spectre mitigations or signals-based-traps are disabled. Successful exploitation provides an arbitrary read/write primitive against host memory, resulting in a complete sandbox escape. Patches are available in versions 36.0.7, 42.0.2, and 43.0.1.

Affected products

  • Bytecode Alliance Wasmtime >= 32.0.0, < 36.0.7; >= 37.0.0, < 42.0.2; 43.0.0

Identifiers

  • CVE-2026-34971
  • GHSA-jhxm-h53p-jm7w
  • RUSTSEC-2026-0096

Timeline

  • 2026-04-09: disclosed
  • 2026-04-09: advisory
  • 2026-04-09: patched

References

This page as Markdown. Free to reuse under CC BY 4.0 with a link back.