Vulnerability · Published Oct 23, 2026 · Assigned by GitHub_M
CVE-2026-115893Wasmtime: Cranelift backend on aarch64 can jump to incorrect target on large Wasm `br_table` instruction
Critical 9.9
In plain English
A critical-severity security flaw in wasmtime from bytecodealliance. There are no confirmed reports of exploitation so far. The chance it is exploited in the next 30 days is estimated at 1.0% (higher than 63% of all known vulnerabilities). Ready-made attack tooling exists: public proof-of-concept code. Fixed versions are available - upgrade the affected package.
Official description
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.
Affected packages & fixed versions
| Ecosystem | Package | Fixed in | Advisory |
|---|---|---|---|
| Debian:13 | rust-wasmtime | no fix listed | DEBIAN-CVE-2026-115893 |
| Debian:14 | rust-wasmtime | 36.0.20+dfsg-1 | DEBIAN-CVE-2026-115893 |
| Ubuntu:24.04:LTS | rust-wasmtime | no fix listed | UBUNTU-CVE-2026-115893 |
| Ubuntu:26.04:LTS | rust-wasmtime | no fix listed | UBUNTU-CVE-2026-115893 |
| Ubuntu:26.10 | rust-wasmtime | no fix listed | UBUNTU-CVE-2026-115893 |
Affected products (as reported)
| Vendor | Product | Versions |
|---|---|---|
| bytecodealliance | wasmtime | < 36.0.19>= 37.0.0, < 48.0.7>= 49.0.0, < 49.0.4 |
Weakness: CWE-691 · Vector: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H
References
- https://github.com/bytecodealliance/wasmtime/security/advisories/GHSA-mghf-wjfp-p5xm x_refsource_CONFIRM
- https://github.com/bytecodealliance/wasmtime/pull/14818 x_refsource_MISC
- https://github.com/bytecodealliance/wasmtime/pull/14819 x_refsource_MISC
- https://github.com/bytecodealliance/wasmtime/pull/14820 x_refsource_MISC
- https://github.com/bytecodealliance/wasmtime/pull/14826 x_refsource_MISC
- https://github.com/bytecodealliance/wasmtime/commit/222ff3a65dab9aa7011f8c246937751a0bac5abd x_refsource_MISC
- https://github.com/bytecodealliance/wasmtime/commit/994549891c8a706cb4f2809f9d17b9f67b31e618 x_refsource_MISC
- https://github.com/bytecodealliance/wasmtime/commit/e61df1b454be9313d61a5f8de07722a421139bbe x_refsource_MISC
- https://github.com/bytecodealliance/wasmtime/commit/f517bd6e890c7c1291ab9fe05d8cc0c9f11e56aa x_refsource_MISC
- https://github.com/bytecodealliance/wasmtime/releases/tag/v36.0.19 x_refsource_MISC
- https://github.com/bytecodealliance/wasmtime/releases/tag/v48.0.7 x_refsource_MISC
- https://github.com/bytecodealliance/wasmtime/releases/tag/v49.0.4 x_refsource_MISC