GitHub Advisoryadvisory · crates.io

GHSA-mghf-wjfp-p5xm Wasmtime: Cranelift backend on aarch64 can jump to incorrect target on large Wasm `br_table` instruction

CRITICAL Published 2026-10-28 Modified 2026-10-28 Official page ↗
Aliases
CVE-2026-115893
Ecosystem
crates.io
Packages
wasmtime
Severity
Critical
CVSS vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H
Weaknesses
CWE-691
Reviewed
2026-10-28

Affected packages

• crates.io wasmtime: < 36.0.19 → fixed in 36.0.19 • crates.io wasmtime: >= 37.0.0, < 48.0.7 → fixed in 48.0.7 • crates.io wasmtime: >= 49.0.0, < 49.0.4 → fixed in 49.0.4

Description

Summary 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. Impact 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. Patches Wasmtime v36.0.19, v48.0.7, and v49.0.4 have been released which all fix this issue.

Related

Alias · CVE (1)

Weakness · CWE (1)

  • CWE-691 Insufficient Control Flow Management weakness

References