Impact
Wasmtime’s Cranelift compiler for aarch64 incorrectly lowers a load instruction when a 64‑bit linear memory is used, causing the address that is bounds‑checked to differ from the address that is actually loaded. This discrepancy creates an out‑of‑bounds read or write (CWE‑125, CWE‑787) that enables a malicious WebAssembly module to read or overwrite arbitrary host memory, effectively escaping the sandbox. The flaw does not affect 32‑bit WebAssembly nor configurations that enable spectre mitigations or signals‑based traps.
Affected Systems
Bytecodealliance’s Wasmtime on the aarch64 architecture is vulnerable in versions 32.0.0 through before 36.0.7, 42.0.2, and 43.0.1 when 64‑bit linear memory is enabled, spectre mitigations are disabled, and signals‑based traps are not active. Versions 36.0.7, 42.0.2, 43.0.1 and later contain the fix, and workloads using 32‑bit memory or the protected configurations are not affected.
Risk and Exploitability
The vulnerability scores a high CVSS of 9, with no publicly documented exploit or KEV listing. Exploitation requires a malicious guest module executing in the affected environment, use of 64‑bit memory, and the disabling of spectre mitigations. While the EPSS score is not available, the severity and the potential for host process compromise make this a high‑risk condition for any application that runs untrusted WebAssembly code on aarch64.
OpenCVE Enrichment
Github GHSA