Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessSupply malicious component with mistyped async callback
-
DeliveryBypass wasmparser callback type validation
-
ExploitRuntime allocates undersized stack return area
-
ExecutionOverflow native stack (~16KB), overwrite return addresses
-
ImpactDivert 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. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – 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
Affected Packages
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
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
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.
Primary rating from Vendor (vulncheck).
CVSS VectorVendor: vulncheck
Lifecycle Timeline
2DescriptionCVE.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
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.
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
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.
What every action level means
SSVC AssessmentENISA
Priority Score
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.
EUVD-2026-108311
GHSA-6fff-wrjr-wjxr
NVD
CVE.org
EPSS
Exploit-DB