Skip to main content

Wasmtime CVE-2026-115893

| EUVDEUVD-2026-109188 CRITICAL
Insufficient Control Flow Management (CWE-691)
2026-10-23 GitHub_M
9.9
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Submit malicious Wasm module to aarch64 host
  2. Delivery
    Module declares br_table with >256k targets
  3. Exploit
    Cranelift miscompiles conditional branch target
  4. Execution
    Branch jumps to user-controlled offset
  5. Impact
    Escape sandbox and execute host code

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Insufficient control flow management
Exploitation Conditions

Exploitation requires the host to be running Wasmtime on an aarch64 (ARM64) target using the default Cranelift compiler backend, and the attacker must be able to supply and have the engine compile and run a Wasm module containing a br_table instruction with more than approximately 256,000 targets. Limiting factors that reduce realistic exposure: non-aarch64 engines (e.g. x86-64) are not affected and non-Cranelift backends are out of scope; the attacker needs the ability to get an untrusted module executed (PR:L - control over a submitted Wasm module, not pre-existing OS access). All Wasmtime/Cranelift versions supporting aarch64 since 2020 are affected up to the fixed releases 36.0.19, 48.0.7, and 49.0.4. Per the advisory, upgrading to a fixed version is the remedy; no separate workaround is stated.

Impact

This is a genuine high-priority issue, not a high-CVSS-but-low-real-risk inflation. The CVSS 3.1 vector (AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H, 9.9) describes a low-complexity, low-privilege attack with a scope change and full confidentiality/integrity/availability impact - consistent with a WebAssembly sandbox escape where a guest module breaks out to execute arbitrary host code. The vuln.today Decision label is act_now, the patch is confirmed available from the vendor, and the GHSA advisory confirms that ANY Wasmtime engine on aarch64 with default settings is affected, across all versions since aarch64 support shipped in 2020. Counter-signals and missing data: no CISA KEV listing and no EPSS score were supplied, so there is no evidence of active or widespread exploitation at this time - exploitation status is therefore 'no public exploit identified at time of analysis.' The PR:L in the CVSS vector reflects that the attacker must be able to supply and run a Wasm module; whether that is reachable network-wide (AV:N) depends entirely on the deployment (e.g. a service that executes untrusted user-submitted modules) - verify against your actual exposure. The qualifier that most bounds real-world risk is the platform: only aarch64 hosts using the default Cranelift backend are affected, and x86-64 deployments are not. For operators running untrusted Wasm on ARM servers/edge nodes this is a critical, patch-immediately defect; for x86-only fleets the practical risk is effectively nil.

Exploit ScenarioDerived

An attacker who can submit a WebAssembly module to a service running Wasmtime on an aarch64 host (for example an edge-compute or plugin platform that executes untrusted modules) crafts a module containing a single br_table instruction with more than approximately 256,000 targets. Cranelift miscompiles the conditional branch so the jump lands at an attacker-controlled offset, letting the module escape the sandbox and run arbitrary code with the host process's privileges. No public exploit code was identified in the supplied data; the only referenced code artifacts are the vendor's fix PRs and commits.

Act Now Prioritize within 24-48h. Why: CRITICAL severity.
Patch available

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 23, 2026

Sandbox escape in Wasmtime on aarch64 lets a user-supplied WebAssembly module redirect an oversized br_table branch to attacker-chosen code when the default Cranelift backend compiles a table with more than roughly 256,000 targets. The flaw affects Wasmtime/Cranelift builds supporting aarch64 since 2020 up to the fixed releases 36.0.19, 48.0.7, and 49.0.4; x86-64 engines and non-Cranelift backends are outside the affected configuration. CVSS 9.9 reflects scope change with high confidentiality, integrity, and availability impact, and the issue carries an act_now priority; no public exploit was identified at time of analysis.

RemediationAI

Upgrade to Wasmtime 36.0.19, 48.0.7, or 49.0.4 according to the release branch in use, as documented in GHSA-mghf-wjfp-p5xm and the v36.0.19, v48.0.7, and v49.0.4 release tags. The advisory identifies upgrading to a fixed version as the remedy and states no separate workaround. Because the defect is confined to the aarch64 Cranelift code path, hosts that can move untrusted module execution to a non-aarch64 target or a non-Cranelift backend fall outside the affected configuration, but that is a deployment-level reduction in exposure rather than a vendor-supplied fix and may carry platform, feature, or performance trade-offs.

Affected VersionsENISA

wasmtime < 36.0.19
wasmtime 49.0.0, < 49.0.4
wasmtime 37.0.0, < 48.0.7

Affected Packages

euvd wasmtime fix: 36.0.19, 48.0.7, 49.0.4

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

Wasmtime is a WebAssembly runtime that uses Cranelift as its default compiler backend. On aarch64, the backend lowers a Wasm br_table instruction into a jump table plus branching logic; when a br_table has more than approximately 256,000 targets, the generated conditional branch can carry an incorrect target and jump to arbitrary other code at a user-controlled offset. That turns a compiler code-generation defect into a sandbox escape, mapped to CWE-691 (Insufficient Control Flow Management). The affected CPE is cpe:2.3:a:bytecodealliance:wasmtime. The upstream aarch64 lowering change removes the conditional branch to the default target and instead clamps out-of-bounds indices with csel, laying out N target entries followed by a default entry. The advisory notes that all Wasmtime/Cranelift versions supporting aarch64 since that support first appeared in 2020 (before Wasmtime v1.0) are affected, while non-aarch64 targets and non-Cranelift backends are not in scope.

Know when Wasmtime gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (GitHub_M) PRIMARY 9.9 CRITICAL
AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H
vuln.today AI 9.9 CRITICAL

Attacker needs the ability to run a supplied Wasm module (PR:L); a large br_table is trivially crafted (AC:L); the sandbox escape changes scope (S:C) and yields full host compromise (C/I/A:H).

3.1 AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Changed
Confidentiality
High
Integrity
High
Availability
High

Lifecycle Timeline

2
Patch available
Oct 23, 2026 - 22:03 EUVD
CVE Published
Oct 23, 2026 - 21:29 cve.org
CRITICAL 9.9

DescriptionCVE.org

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.

Technical POC Analysis

Bug class: CWE-691 Insufficient Control Flow Management.

Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.

Executive ViewAI

Why It Matters

A critical sandbox escape vulnerability (CVE-2026-115893) exists in Wasmtime on aarch64 systems, potentially allowing an attacker to execute arbitrary code outside the WebAssembly sandbox, compromising confidentiality, integrity, and availability. Leadership should prioritize patching affected systems because this flaw can undermine the isolation model relied upon by multi-tenant services and edge deployments.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

Prevalence
Medium
popular Wasm runtime, but only aarch64 Cranelift deployments affected
Social Media
1
Sightings
Data Quality
4 sources
Confidence: Medium

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity CRITICAL
CISA KEV No
Public POC No
EPSS N/A
Patch available Yes
Active threat No
Deciding rule
CRITICAL severity
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact
High

Priority Score

50
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +50
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Remote Code Execution represents the critical moment when an attacker successfully runs arbitrary code on a target system without physical access.

CVE-2026-115889 CRITICAL
9.9 Oct 23

Wasmtime versions before 36.0.19, and the 37.0.0 through 42.x line, can silently miscompile attacker-supplied WebAssembl

CVE-2023-26489 CRITICAL
9.9 Mar 08

wasmtime is a fast and secure runtime for WebAssembly. Rated critical severity (CVSS 9.9), this vulnerability is remotel

CVE-2022-39394 CRITICAL
9.8 Nov 10

Wasmtime is a standalone runtime for WebAssembly. Rated critical severity (CVSS 9.8), this vulnerability is remotely exp

CVE-2022-24791 CRITICAL
9.8 Mar 31

Wasmtime is a standalone JIT-style runtime for WebAssembly, using Cranelift. Rated critical severity (CVSS 9.8), this vu

CVE-2024-30266 MEDIUM POC
5.5 Apr 04

wasmtime is a runtime for WebAssembly. Rated medium severity (CVSS 5.5), this vulnerability is low attack complexity. Pu

CVE-2026-34987 CRITICAL
9.0 Apr 09

Memory sandbox escape in Wasmtime's Winch compiler (versions 25.0.0 to before 36.0.7, 42.0.2, 43.0.1) enables authentica

CVE-2026-34971 CRITICAL
9.0 Apr 09

Arbitrary memory read/write vulnerability in Bytecode Alliance Wasmtime versions 32.0.0 through 36.0.6, 42.0.0-42.0.1, a

CVE-2023-30624 HIGH
8.8 Apr 27

Wasmtime is a standalone runtime for WebAssembly. Rated high severity (CVSS 8.8), this vulnerability is remotely exploit

CVE-2022-31146 HIGH
8.8 Jul 21

Wasmtime is a standalone runtime for WebAssembly. Rated high severity (CVSS 8.8), this vulnerability is remotely exploit

CVE-2022-39393 HIGH
8.6 Nov 10

Wasmtime is a standalone runtime for WebAssembly. Rated high severity (CVSS 8.6), this vulnerability is remotely exploit

CVE-2026-27572 HIGH
7.5 Feb 24

Wasmtime's HTTP header handling in the wasmtime-wasi-http crate crashes when processing excessive header fields, allowin

CVE-2026-27195 HIGH
7.5 Feb 24

Wasmtime versions 39.0.0 and later experience a denial-of-service panic when async WebAssembly component functions are c

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy