When running with the Cranelift compiler backend on an aarch64 target, Wasmtime can compile a Wasm module with more than ~256k targets on one br_table instruction in a way that results in an incorrect conditional branch target. This conditional branch could then jump to arbitrary other code (at an user-controlled offset), leading to arbitrary sandbox escapes.
Any Wasmtime engine running on aarch64 with default settings can be forced to jump to arbitrary code by a user-controlled Wasm module. All versions of Wasmtime/Cranelift that support aarch64, since the initial release of that support in 2020 (before Wasmtime v1.0), are affected.
Wasmtime v36.0.19, v48.0.7, and v49.0.4 have been released which all fix this issue.
{
"cwe_ids": [
"CWE-691"
],
"github_reviewed": true,
"github_reviewed_at": "2026-10-28T21:14:14Z",
"nvd_published_at": "2026-10-23T22:16:58Z",
"severity": "CRITICAL"
}