Skip to main content

Wasmtime CVE-2026-115384

| EUVDEUVD-2026-108311 CRITICAL
Improper Input Validation (CWE-20)
2026-10-22 disclosure@vulncheck.com GHSA-6fff-wrjr-wjxr
9.4
CVSS 4.0 · Vendor: vulncheck
View

Attack ChainAIDerived

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

  1. Access
    Supply malicious component with mistyped async callback
  2. Delivery
    Bypass wasmparser callback type validation
  3. Exploit
    Runtime allocates undersized stack return area
  4. Execution
    Overflow native stack (~16KB), overwrite return addresses
  5. Impact
    Divert control to host code or crash, escaping sandbox

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V2 - Validation and Business Logic Input validation, allowlisting
Exploitation Conditions

Requires (1) the embedder to have the component-model-async feature enabled - disabling it causes Wasmtime to reject any component using async features and fully avoids the issue; (2) an affected build (Wasmtime 39.0.0 through 48.0.3, or 49.0.0 through 49.0.1) using the vulnerable wasmparser v0.259.0 or earlier for validation; and (3) the attacker's ability to supply a guest component with a mistyped component-model-async callback result type to the runtime. Exploitation is limited to deployments that accept and run attacker-influenced components; trusted-only component pipelines, builds with component-model-async disabled, or validation via patched wasmparser v1.260.0+ are not exploitable. The only complete fix per the vendor is updating to 48.0.4 or 49.0.2.

Impact

This is a genuine high-priority issue, not an inflated CVSS score. The vendor-supplied CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N) rates it 9.4 with full compromise of both the vulnerable system (VC:H/VI:H/VA:H) and subsequent systems (SC:H/SI:H/SA:H), reflecting a sandbox escape where a malicious guest can overwrite native-stack return addresses to pass control to arbitrary host code or crash the process - the GHSA advisory explicitly recommends treating it as arbitrary-code-execution sandbox escape. The vuln.today priority is act_now, consistent with the total technical impact and low attack complexity. No EPSS score, CISA KEV listing, or PoC/exploit reference is present in the input, so exploitation status is: no public exploit identified at time of analysis; the act_now urgency is driven by impact and exploitability of the flaw, not by evidence of in-the-wild activity. The key mitigating factors are configuration-dependent rather than attacker-side: exploitation requires the embedder to have the component-model-async feature enabled and to accept a guest-supplied component, and the advisory notes OS defenses (ASLR, non-executable stack) can thwart simple arbitrary-code-execution attempts though they do not make the host safe. One nuance to verify locally: the official vector uses AV:N/PR:L, but whether the attack is truly remote and what 'privilege' means depends entirely on the embedding - in deployments that accept untrusted components over a network with no authentication this behaves closer to unauthenticated remote, whereas in trusted-only embeddings the exposure is much lower.

Exploit ScenarioDerived

An embedder runs Wasmtime (39.0.0-48.0.3 or 49.0.0-49.0.1) with the component-model-async feature enabled and executes a guest component supplied by a lower-trust or external party. The attacker crafts a component whose component-model-async callback function has a mistyped signature that wasmparser (v0.259.0 or earlier) fails to reject, and when the runtime invokes the callback it writes up to ~16KB of attacker-chosen data onto the native stack, overwriting return addresses to crash the host or escape the sandbox. No public exploit identified at time of analysis, so weaponization effort is unverified.

Act Now Prioritize within 24-48h. Why: CRITICAL severity.
Patch available 0.3% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Oct 22, 2026

Stack buffer overflow in Wasmtime (39.0.0 through 48.0.3, and 49.0.0 through 49.0.1) lets a malicious guest component write roughly 16KB of attacker-chosen data onto the host process's native stack by supplying a mistyped component-model-async callback result type, allowing return-address overwrite that can crash the host or, per the vendor, should be treated as a sandbox escape / arbitrary code execution risk. The assessed vector (CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H) reflects a scope change from guest to host and requires the low-privileged guest to be able to deliver a component to the runtime; embedders that only run trusted components, or that build without the component-model-async feature, are not exposed. No public exploit code has been identified at time of analysis, but the vendor rates this as a genuine high-priority issue requiring immediate patching to 48.0.4 or 49.0.2.

RemediationAI

Vendor-released patch: upgrade to Wasmtime 48.0.4 or 49.0.2 (matching the branch you run) - the vendor states these are the complete fix, so no partial mitigation is equivalent. If an immediate upgrade is not possible, the vendor documents two interim options: disable the component-model-async feature, which makes Wasmtime reject any component that uses async features including async callbacks (trade-off: async-lifted exports and other async component functionality stop working entirely), or validate components with a patched wasmparser v1.260.0 or later before passing them to Wasmtime, which rejects the invalid signatures up front (trade-off: it only protects pipelines where every component passes through the patched validator, and Wasmtime itself remains unpatched behind it). Also confirm that only trusted components are executed until the update is applied, since exploitation requires the ability to supply a component carrying a mistyped component-model-async callback result type. Full details are in the upstream advisory at https://github.com/bytecodealliance/wasmtime/security/advisories/GHSA-32h6-97mm-8q3c and the VulnCheck advisory at https://www.vulncheck.com/advisories/wasmtime-39.0.0-before-48.0.4-and-49.0.0-before-49.0.2-stack-buffer-overflow.

Affected VersionsENISA

wasmtime 49.0.0 <49.0.2
wasmtime 39.0.0 <48.0.4

Affected Packages

cargo wasmtime fix: 48.0.4, 49.0.2

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in cargo

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

Technical ContextAI · show details

Wasmtime's sandbox guarantee depends on layered validation: the wasmparser crate validates Wasm modules and components against the specification, Wasmtime adds type checks and assertions during translation and compilation, and runtime bounds checks cover conditions that cannot be verified statically. This issue (CWE-20 improper input validation, surfacing as CWE-121 stack-based buffer overflow) arises because none of those layers caught an invalid component-model-async callback signature. In wasmparser v0.259.0 and earlier, the check on the type signature of core functions used as async-lifted export callbacks was wrong: instead of requiring three i32 parameters and a single i32 result, a typographic error made it assert that the function accepted either three i32 parameters or one i32 parameter, and it never checked the result type(s). Wasmtime then recorded the callback index while converting the component to its internal representation, assuming wasmparser had already validated the arity and return type; when the compiler emitted the host-to-guest trampoline it omitted a runtime bounds check that the parameter/result array was large enough for the target signature, and at call time the runtime reserved a return area on the stack sized to the expected arity rather than the actual one. The result is that the guest controls how much data (up to ~16KB) and what data is written to the native stack, permitting return-address overwrite. ASLR and a non-executable stack raise the bar for straightforward code execution, which is why the vendor recommends embedders treat this as an arbitrary-code-execution sandbox escape rather than a mere crash.

Know when the next one hits your stack

  • 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 (vulncheck) PRIMARY 9.4 CRITICAL
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H
vuln.today AI 9.9 CRITICAL

Attacker must be able to submit a guest component (PR:L) with low complexity and no user interaction; sandbox escape into the host is a scope change (S:C) with full host compromise.

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 (vulncheck).

CVSS VectorVendor: vulncheck

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
Low
User Interaction
None
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
High
Vulnerable system: Availability
High
Subsequent system: Confidentiality
High
Subsequent system: Integrity
High
Subsequent system: Availability
High

Lifecycle Timeline

2
Patch available
Oct 22, 2026 - 20:18 EUVD
CVE Published
Oct 22, 2026 - 19:17 cve.org
CRITICAL 9.4

DescriptionCVE.org

Wasmtime 39.0.0 before 48.0.4 and 49.0.0 before 49.0.2 contains a stack buffer overflow vulnerability that allows malicious guests to write ~16KB to the native stack via unvalidated async callback result types. Attackers can supply components with mistyped component-model-async callback functions to overwrite return addresses, crashing the host or escaping the sandbox.

Technical POC Analysis

Bug class: CWE-20 Improper Input Validation, leading to CWE-121 Stack-based Buffer Overflow.

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 stack buffer overflow in Wasmtime (versions 39.0.0 through 48.0.3 and 49.0.0 through 49.0.1) allows a malicious guest component to potentially escape the WebAssembly sandbox and execute arbitrary code on the host, impacting any organization that runs untrusted components with the component-model-async feature enabled. This vulnerability affects products using Wasmtime, and leadership should prioritize remediation because a successful exploitation could lead to host compromise, data breaches, or service disruption, undermining the security guarantees of the sandbox.

Business Impact: Severe
Compensating Controls

No vendor-released patch identified at time of analysis. Interim mitigations include: disable the component-model-async feature if not required; only run trusted components; isolate Wasmtime host processes with strong sandboxing (e.g., containers, seccomp) and least privilege; monitor for crashes or suspicious activity.

Threat Intelligence Overview

EPSS Score
0.3%
Top 77% exploitable
Prevalence
Medium
leading standalone WebAssembly runtime, significant but specialized deployment footprint
Data Quality
5 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 0.3%
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
Very High

Priority Score

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

Attack Technique

A buffer overflow occurs when a program writes more data to a memory buffer than it was allocated to hold, causing the excess data to spill into adjacent memory regions.

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