Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessCraft malicious WebAssembly module
-
DeliveryExploit Cranelift aarch64 heap access bug
-
ExploitBypass bounds check validation
-
ExecutionAccess out-of-bounds memory
-
ImpactRead sensitive data or execute code
Vulnerability Assessment
| Weakness |
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Bounds checking, read limits
MITRE ATT&CK
1 technique across 1 tactic: Collection The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Wasmtime versions 32.0.0 to before 36.0.7, 42.0.2, and 43.0.1 on aarch64 architecture. Requires a malicious WebAssembly module with specific heap access patterns and explicit bounds checks. Attacker needs ability to load and execute untrusted WASM code on the target system. |
| Impact | Critical sandbox escape affecting Wasmtime 32.0.0-36.0.6, 42.0.0-42.0.1, 43.0.0 on aarch64 with 64-bit WebAssembly and Spectre mitigations disabled. Authenticated access required. Miscompiled heap load operations allow guests to bypass bounds checks and read/write arbitrary host memory, fully compromising isolation. High severity justified by sandbox bypass and arbitrary memory access despite authentication gating. |
| Exploit ScenarioDerived | Attacker deploys malicious WebAssembly module on vulnerable Wasmtime instance with 64-bit memory and Spectre mitigations off. Module crafts load(iadd(base, ishl(index, shift))) pattern, passing bounds check via one address computation but loading from attacker-controlled alternate address. Reads/writes host memory bypassing sandbox. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Apr 09, 2026
Arbitrary memory read/write vulnerability in Bytecode Alliance Wasmtime versions 32.0.0 through 36.0.6, 42.0.0-42.0.1, and 43.0.0 allows authenticated remote attackers to escape WebAssembly sandbox restrictions. The Cranelift compilation backend on aarch64 architecture miscompiles specific heap access patterns, creating divergent address computations where bounds checks validate one address while loads access another, enabling sandbox escape through unrestricted host memory access. Exploitation requires 64-bit WebAssembly linear memories with Spectre mitigations and signals-based-traps disabled. No public exploit identified at time of analysis.
RemediationAI
Vendor-released patches: upgrade immediately to Wasmtime 36.0.7, 42.0.2, or 43.0.1 depending on deployment version branch. These releases correct the Cranelift instruction selection mask logic eliminating divergent address computation. For environments unable to patch immediately, enable Spectre mitigations via runtime configuration, which prevents generation of the vulnerable load pattern and serves as effective temporary mitigation. Alternatively, enable signals-based-traps configuration option. Organizations using 32-bit WebAssembly or non-aarch64 architectures are not affected. Full technical details and patch information: https://github.com/bytecodealliance/wasmtime/security/advisories/GHSA-jhxm-h53p-jm7w
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in cargo
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
CWE-125 out-of-bounds read stems from incorrect instruction selection in Cranelift's aarch64 backend. Pattern-matching rule for load(iadd(base, ishl(index, amt))) applies faulty bit masking to constant shift amount, causing erroneous lowering that diverges from WebAssembly semantics. Miscompilation generates load instructions accessing unintended memory offsets, bypassing bounds validation while address wrapping occurs in bounds-check computation but not load execution.
Know when Wasmtime gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H
AV:L/AC:H/PR:L/UI:N/S:C/C:H/I:H/A:H
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
2DescriptionCVE.org
Wasmtime is a runtime for WebAssembly. From 32.0.0 to before 36.0.7, 42.0.2, and 43.0.1, Wasmtime's Cranelift compilation backend contains a bug on aarch64 when performing a certain shape of heap accesses which means that the wrong address is accessed. When combined with explicit bounds checks a guest WebAssembly module this can create a situation where there are two diverging computations for the same address: one for the address to bounds-check and one for the address to load. This difference in address being operated on means that a guest module can pass a bounds check but then load a different address. Combined together this enables an arbitrary read/write primitive for guest WebAssembly when accesssing host memory. This is a sandbox escape as guests are able to read/write arbitrary host memory. This vulnerability has a few ingredients, all of which must be met, for this situation to occur and bypass the sandbox restrictions. This miscompiled shape of load only occurs on 64-bit WebAssembly linear memories, or when Config::wasm_memory64 is enabled. 32-bit WebAssembly is not affected. Spectre mitigations or signals-based-traps must be disabled. When spectre mitigations are enabled then the offending shape of load is not generated. When signals-based-traps are disabled then spectre mitigations are also automatically disabled. The specific bug in Cranelift is a miscompile of a load of the shape load(iadd(base, ishl(index, amt))) where amt is a constant. The amt value is masked incorrectly to test if it's a certain value, and this incorrect mask means that Cranelift can pattern-match this lowering rule during instruction selection erroneously, diverging from WebAssembly's and Cranelift's semantics. This incorrect lowering would, for example, load an address much further away than intended as the correct address's computation would have wrapped around to a smaller value insetad. This vulnerability is fixed in 36.0.7, 42.0.2, and 43.0.1.
Executive ViewAI
Bytecode Alliance Wasmtime versions 32.0.0-36.0.6, 42.0.0-42.0.1, and 43.0.0 contain a critical sandbox escape vulnerability that allows authenticated attackers to read and write arbitrary host memory, bypassing WebAssembly isolation controls. Organizations running Wasmtime on aarch64 architecture face immediate risk of privilege escalation and data exfiltration if untrusted WebAssembly modules are executed, requiring urgent action to isolate or restrict affected deployments.
No vendor-released patch identified at time of analysis. Interim mitigations: disable Spectre mitigations (AArch64-specific hardening) and disable signal-based traps on affected deployments to prevent exploitation path-both require architectural review for compatibility. Restrict execution to trusted WebAssembly modules only and isolate Wasmtime processes with strict network segmentation and capability-based access controls. Monitor for exploit indicators including unusual memory access patterns and out-of-bounds operations in Wasmtime logs.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
A buffer overflow occurs when a program writes more data to a memory buffer than it was allocated to hold, causing the excess data to spill into adjacent memory regions.
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
Sandbox escape in Wasmtime on aarch64 lets a user-supplied WebAssembly module redirect an oversized br_table branch to a
Wasmtime versions before 36.0.19, and the 37.0.0 through 42.x line, can silently miscompile attacker-supplied WebAssembl
wasmtime is a fast and secure runtime for WebAssembly. Rated critical severity (CVSS 9.9), this vulnerability is remotel
Wasmtime is a standalone runtime for WebAssembly. Rated critical severity (CVSS 9.8), this vulnerability is remotely exp
Wasmtime is a standalone JIT-style runtime for WebAssembly, using Cranelift. Rated critical severity (CVSS 9.8), this vu
wasmtime is a runtime for WebAssembly. Rated medium severity (CVSS 5.5), this vulnerability is low attack complexity. Pu
Memory sandbox escape in Wasmtime's Winch compiler (versions 25.0.0 to before 36.0.7, 42.0.2, 43.0.1) enables authentica
Wasmtime is a standalone runtime for WebAssembly. Rated high severity (CVSS 8.8), this vulnerability is remotely exploit
Wasmtime is a standalone runtime for WebAssembly. Rated high severity (CVSS 8.8), this vulnerability is remotely exploit
Wasmtime is a standalone runtime for WebAssembly. Rated high severity (CVSS 8.6), this vulnerability is remotely exploit
Wasmtime's HTTP header handling in the wasmtime-wasi-http crate crashes when processing excessive header fields, allowin
Wasmtime versions 39.0.0 and later experience a denial-of-service panic when async WebAssembly component functions are c
Same weakness CWE-125 – Out-of-bounds Read
View allSame technique Buffer Overflow
View allVendor StatusVendor
SUSE
Severity: High| Product | Status |
|---|---|
| SUSE Linux Enterprise Server 16.1 | Fixed |
| SUSE Linux Enterprise Server for SAP applications 16.1 | Fixed |
EUVD-2026-21027
GHSA-jhxm-h53p-jm7w
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB