Two critical Wasmtime flaws let malicious WebAssembly modules escape the sandbox
CVE-2026-115889 affects every architecture and CVE-2026-115893 only ARM64; fixes landed October 19–20 with no attacks reported.
Wasmtime Cranelift sandbox escape on aarch64
In Wasmtime before 36.0.19, 48.0.7, and 49.0.4, the Cranelift backend on aarch64 can miscompile a Wasm br_table with more than about 256,000 targets, so a conditional branch uses the wrong target. A user who can supply a Wasm module can make that branch jump to other code at a chosen offset and escape the sandbox. Only aarch64 engines using the default Cranelift backend are affected.
What to do: Upgrade Wasmtime to 36.0.19, 48.0.7, or 49.0.4.
| Product | Affected | Fixed in |
|---|---|---|
| Wasmtime | Prior to 36.0.19, 48.0.7, and 49.0.4 | 36.0.19, 48.0.7, and 49.0.4 |
Order-of-magnitude estimate by the model from install counts, market share and public scan data it knows; verify before quoting.
Wasmtime is a runtime for WebAssembly. Prior to 36.0.19, 48.0.7, and 49.0.4, the Cranelift compiler backend on aarch64 can compile a Wasm br_table instruction with more than approximately 256,000 targets so that it has an incorrect conditional branch target. The branch can then jump to arbitrary other code at a user-controlled offset, allowing a user-controlled Wasm module to escape the sandbox on aarch64 engines using the default Cranelift backend. This issue is fixed in versions 36.0.19, 48.0.7, and 49.0.4.
CVE-2026-115889 affects every architecture and CVE-2026-115893 only ARM64; fixes landed October 19–20 with no attacks reported.
Today 1.5K readers · 2.4K views · 768 reads · all time 189K views