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.
Security readout for executives and security teams
Plain-English summary
Wasmtime on ARM64 can miscompile some WebAssembly memory accesses, letting a guest pass a bounds check but read or write host memory. This is a sandbox escape risk for services running untrusted WebAssembly under affected versions and specific runtime settings.
Executive priority
Prioritize quickly if Wasmtime isolates untrusted WebAssembly in production, especially on ARM64 infrastructure. The business risk is cross-boundary memory access from guest code into host memory, which can undermine tenant isolation and sensitive data protections.
Technical view
The issue is in Wasmtime Cranelift on aarch64 for certain 64-bit memory access patterns. With Memory64 or 64-bit linear memories, and Spectre mitigations or signal-based traps disabled, address calculation can diverge between bounds checking and loading, enabling arbitrary guest read/write of host memory.
Likely exposure
Exposure is most likely in ARM64/aarch64 environments using affected Wasmtime versions to run untrusted or tenant-supplied WebAssembly with wasm_memory64 or 64-bit linear memory. 32-bit WebAssembly is stated as not affected.
Exploitation context
The bundle does not cite active exploitation, and KEV is false. Exploitation requires prerequisites: affected Wasmtime, aarch64 Cranelift, 64-bit memory behavior, and disabled Spectre mitigations or signal-based traps. A malicious or compromised guest module would be the likely threat path.
Researcher notes
Primary evidence names Cranelift instruction selection miscompilation for load(iadd(base, ishl(index, amt))). The source bundle has a version inconsistency: narrative says fixed in 43.0.1, while the affected range lists 43.0.0 to before 44.0.1. Validate against vendor advisory before final scoping.
Mitigation direction
Upgrade Wasmtime to vendor-fixed releases: 36.0.7, 42.0.2, or 43.0.1 where applicable.
Check Bytecode Alliance guidance for the correct fixed branch for your deployment.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cwe · low confidence lookup
CWE-125: Exact CWE lookup
Use the exact CWE identifier as the starting point before reviewing related ATT&CK behavior. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.
Use the exact CWE identifier as the starting point before reviewing related ATT&CK behavior. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.
The CVE wording references privilege impact, so privilege escalation and authorization behavior review may help. This is a Glexia inferred lookup path, not an official MITRE, ATT&CK, or CVE Program mapping.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
3CVSS vectors
5Timeline events
2ADP providers
5Source links
SSVC decision data
CISA-ADPCISA Coordinator
Timestamp
Version
2.0.3
Exploitation: noneAutomatable: noTechnical Impact: total
CVSS vector scores
3 official scores
We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.
CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.
CWE-125 · source CWE mapping
Out-of-bounds Read
Out-of-bounds Read represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.
Out-of-bounds Write represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.