Wasmtime 36.0.19, 48.0.7 and 49.0.4 fix two critical Cranelift flaws (CVE-2026-115889, CVE-2026-115893; CVSS 9.9) that let a malicious WebAssembly module escape the sandbox; the second affects only ARM64 (aarch64) hosts
The Bytecode Alliance's Wasmtime maintainers published two critical advisories on 19 October 2026 (UTC) for sandbox escapes in Cranelift, Wasmtime's default compiler backend, each rated CVSS 9.9. CVE-2026-115889 (GHSA-897f-g5gm-fmxm): in Wasmtime before v43, Cranelift bit-packs its SSA value indices in a way that can silently overflow in release builds and cause arbitrary miscompilation; the advisory says a very large Wasm function body, or one crafted to use many SSA values, can use this to force type confusion and escape the sandbox, on any architecture with default settings.
Affected: before 36.0.19, and 37.0.0 up to (not including) 43.0.0; fixed in 36.0.19, and Cranelift was changed in v43 so later versions are not susceptible. CVE-2026-115893 (GHSA-mghf-wjfp-p5xm): on aarch64, Cranelift can compile a Wasm br_table instruction with more than about 256k targets into a conditional branch with the wrong target; the advisory says any Wasmtime engine on aarch64 with default settings can be forced to jump to arbitrary code by a user-controlled Wasm module, and that every version supporting aarch64 since that support was added in 2020 is affected.
Fixed in 36.0.19, 48.0.7 and 49.0.4 (all released 19 October); Wasmtime 50.0.0 (released 20 October) includes the same br_table fix in its release notes.
According to The Hacker News (26 Oct), an attacker first needs a vulnerable Wasmtime build to compile a module they control, so the risk is highest for services that compile modules written by other people, the maintainers have not reported any attacks, neither advisory lists a workaround, and programs that embed Wasmtime as a library must be rebuilt with a fixed version. Primary: Wasmtime security advisories (GitHub); wire: The Hacker News.
- Product
- Wasmtime WebAssembly runtime (Cranelift compiler backend), used standalone and embedded as a library in other software
- Versions
- CVE-2026-115889 (any architecture): affected <36.0.19 and >=37.0.0 <43.0.0; fixed 36.0.19 (43.0.0 and later not susceptible). CVE-2026-115893 (aarch64 only): affected <36.0.19, >=37.0.0 <48.0.7, >=49.0.0 <49.0.4; fixed 36.0.19, 48.0.7, 49.0.4; 50.0.0 (20 Oct) carries the fix. As of 26 Oct.
- CVSS
- (CVSS 3.1, GitHub advisories) for both CVE-2026-115889 and CVE-2026-115893
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H - Exploited in Australia?
- unknown
- Patch to
- Update Wasmtime to 36.0.19, 48.0.7, 49.0.4 or 50.0.0 (lines outside these need to move to one of them), and rebuild any program that embeds Wasmtime as a library with a fixed version. Prioritise hosts that compile WebAssembly modules supplied by other people, and ARM64 (aarch64) hosts.
- Primary: Wasmtime advisory GHSA-mghf-wjfp-p5xm — Cranelift backend on aarch64 can jump to incorrect target on large Wasm `br_table` instruction (19 Oct 2026)
- Vendor: Wasmtime advisory GHSA-897f-g5gm-fmxm — Bit-packing in Cranelift compiler causes silent overflow and miscompilation (19 Oct 2026)
- CVE: CVE-2026-115889, CVE-2026-115893
- Source: The Hacker News — Two Critical Wasmtime Flaws Could Let Malicious WebAssembly Modules Escape Sandboxes (26 Oct 2026)
- Source: GitHub — Release Wasmtime 50.0.0 (released 20 Oct 2026)
