{"id":"CVE-2026-115893","kind":"vulnerability","aliases":["CVE-2026-115893"],"related":[],"title":"Wasmtime on aarch64: br_table bug lets Wasm modules escape the sandbox","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.","summary":"Wasmtime's Cranelift compiler on aarch64 can emit a wrong branch target for a br_table instruction with about 256,000 or more targets. A user-controlled WebAssembly module can use this to jump to arbitrary code and escape the sandbox.","severity":"critical","cvss":9.9,"epss":0.00792,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["aarch64","cranelift","multi-tenant","plugin-systems","runtime","wasmtime","webassembly"],"not_affected_if":["trusted-wasm-only","x86_64-only"],"how_to_check":"- Run `wasmtime --version` (or check the Wasmtime version pinned in your dependencies) and compare it with the fixed releases below\n- Confirm whether the host runs on aarch64 and uses the default Cranelift backend; the sources do not give a more specific check","fix":"- Upgrade Wasmtime to `36.0.19`, `48.0.7`, or `49.0.4` depending on your release line\n- Until upgraded, avoid running untrusted or user-supplied Wasm modules on aarch64 hosts (inference from the sources, not stated there)","status":"open","published_at":"2026-10-23T22:16:58+00:00","first_seen_at":"2026-10-23T23:44:51+00:00","triaged_at":"2026-10-25T02:59:37+00:00","updated_at":"2026-10-25T12:38:49+00:00","category":"runtime","confidence":0.6,"triage":{"at":"2026-10-25T02:59:37Z","model":"claude-haiku-5-5","output":{"fix":"- Upgrade Wasmtime to `36.0.19`, `48.0.7`, or `49.0.4` depending on your release line\n- Until upgraded, avoid running untrusted or user-supplied Wasm modules on aarch64 hosts (inference from the sources, not stated there)","reach":"unknown","title":"Wasmtime on aarch64: br_table bug lets Wasm modules escape the sandbox","impact":"high","summary":"Wasmtime's Cranelift compiler on aarch64 can emit a wrong branch target for a br_table instruction with about 256,000 or more targets. A user-controlled WebAssembly module can use this to jump to arbitrary code and escape the sandbox.","category":"runtime","nicknames":[],"who_cares":["wasmtime","webassembly","aarch64","cranelift","plugin-systems","multi-tenant"],"confidence":0.6,"needs_auth":"no","worst_case":"Attacker-supplied Wasm module escapes sandbox and runs arbitrary host code","analyst_note":"Check the Wasmtime GitHub security advisory for affected-version ranges, the exact aarch64 conditions, and any workarounds; the NVD entry alone does not give them.","how_to_check":"- Run `wasmtime --version` (or check the Wasmtime version pinned in your dependencies) and compare it with the fixed releases below\n- Confirm whether the host runs on aarch64 and uses the default Cranelift backend; the sources do not give a more specific check","needs_analyst":true,"not_affected_if":["x86_64-only","trusted-wasm-only"],"who_is_affected":"Teams that embed Wasmtime on aarch64 and run WebAssembly modules that they do not fully trust, such as plugin systems, serverless or multi-tenant platforms. The flaw needs a Wasm module with a very large br_table, which a user-supplied module could contain. Teams running Wasmtime only on x86_64 or only on their own trusted Wasm code are less exposed; the sources do not say more.","user_interaction":"no","needs_special_setup":"yes","severity_if_unknown":"critical"},"cost_usd":0.000708,"input_tokens":3401,"output_tokens":735,"severity_before":"critical"},"analyst_status":null,"analyst_note":null,"search":"'-115893':15A,18A '-2026':14A,17A '000':50B,102C '256':49B,101C '36.0.19':80C,153C '48.0.7':81C,154C '49.0.4':83C,156C 'aarch64':3A,19B,35B,89C,140C 'allow':128C 'approxim':100C 'arbitrari':66B,119C 'backend':87C,146C 'br':4A,44B,94C 'branch':40B,111C,114C 'bug':6A 'code':67B,121C 'compil':33B,86C,91C 'condit':110C 'control':57B,126C,132C 'cranelift':20B,32B,85C,145C 'cve':13A,16A 'default':144C 'emit':37B 'engin':141C 'escap':10A,69B,136C 'fix':150C 'incorrect':109C 'instruct':46B,96C 'issu':148C 'jump':64B,117C 'let':7A 'modul':9A,59B,134C 'multi':22B 'multi-ten':21B 'offset':127C 'plugin':25B 'plugin-system':24B 'prior':78C 'runtim':27B,75C 'sandbox':12A,71B,138C 'system':26B 'tabl':5A,45B,95C 'target':41B,53B,103C,112C 'tenant':23B 'use':61B,142C 'user':56B,125C,131C 'user-control':55B,124C,130C 'version':152C 'wasm':8A,93C,133C 'wasmtim':1A,28B,30B,72C 'webassembl':29B,58B,77C 'wrong':39B","nicknames":[],"mitigations":[],"who_affected":"Teams that embed Wasmtime on aarch64 and run WebAssembly modules that they do not fully trust, such as plugin systems, serverless or multi-tenant platforms. The flaw needs a Wasm module with a very large br_table, which a user-supplied module could contain. Teams running Wasmtime only on x86_64 or only on their own trusted Wasm code are less exposed; the sources do not say more.","tier":"B","verified":{},"analyst_revisit_at":null,"first_public_at":"2026-10-23T22:16:58+00:00","kev":null,"cvss_vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H","cvss_by":"security-advisories@github.com","poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-115893","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-115893","severity":null,"published_at":"2026-10-23T22:16:58+00:00","modified_at":"2026-10-23T22:16:58+00:00","first_seen_at":"2026-10-23T23:44:51+00:00","fetched_at":"2026-10-23T23:44:51+00:00","note":null},{"source":"epss","external_id":"CVE-2026-115893","url":"https://api.first.org/data/v1/epss?cve=CVE-2026-115893","severity":null,"published_at":null,"modified_at":null,"first_seen_at":"2026-10-25T12:38:49+00:00","fetched_at":"2026-10-25T12:38:49+00:00","note":null}],"documents":[],"notice":"Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai"}