Skip to main content

Wasmtime EUVDEUVD-2026-108309

| CVE-2026-115383 MEDIUM
Improper Validation of Specified Type of Input (CWE-1287)
2026-10-22 disclosure@vulncheck.com GHSA-cvpp-75f3-xc4p
5.9
CVSS 4.0 · Vendor: vulncheck
View

Attack ChainAIDerived

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

  1. Access
    Supply malicious WebAssembly component to embedding
  2. Exploit
    Import tag with disallowed subtype (accepted by faulty validation)
  3. Execution
    Mis-type exception payload to corrupt GC heap
  4. Impact
    Trigger Wasmtime panic (denial of service)

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V2 - Validation and Business Logic Specified type validation
Exploitation Conditions

Exploitation requires that the WebAssembly exceptions proposal is enabled - on-by-default starting in Wasmtime 47.0.0 - and that the attacker can supply or instantiate an untrusted WebAssembly component in the host embedding. The specific trigger is a core module importing a WebAssembly tag whose type is a subtype of the original tag's type, which the faulty validator accepts; the guest then mis-types an exception object payload. Limiting factors: only Wasmtime 47.0.0-48.0.3 and 49.0.0-49.0.1 are affected; embeddings that do not run untrusted guests or that disable the exceptions proposal are not exposed; and impact is bounded to a panic/DoS because the GC heap is designed to be resilient to corruption. The vendor states there is no workaround other than upgrading to 48.0.4/49.0.2 or disabling the exceptions proposal.

Impact

This is a genuine but moderate-severity issue, not an emergency. The CVSS 4.0 vector (5.9, AV:N/AC:L/AT:P/PR:L/UI:P) and the vendor advisory agree that the only impact is availability: the mis-typed exception payload corrupts Wasmtime's GC heap, and because that heap is deliberately engineered to be resilient the realistic worst case is a host-side panic (denial of service), not code execution or data disclosure - consistent with VC:N/VI:N/VA:H. PR:L and AT:P reflect that the attacker must be able to supply/instantiate an untrusted guest component AND that a configuration condition (the WebAssembly exceptions proposal, on-by-default since 47.0.0) must hold, which materially narrows exposure to embeddings that run untrusted WebAssembly. Signals are mostly aligned toward a 'patch this cycle' posture rather than drop-everything: the vuln.today decision label is this_month, there is no CISA KEV listing, and no public exploit code was identified at time of analysis. Key caveat on conflicting metadata: the supplied Tag 'Information Disclosure' directly contradicts both the vendor description (GC heap corruption → panic) and the CVSS confidentiality metric (VC:N) - the actual security property at risk is availability, so treat the disclosure framing as mislabeled. EPSS is not provided in the input, so exploitation probability could not be factored in.

Exploit ScenarioDerived

An attacker who can submit an untrusted WebAssembly component to a Wasmtime embedding (version 47.0.0-48.0.3 or 49.0.0-49.0.1) with the exceptions proposal enabled crafts a core module that imports a WebAssembly tag using a subtype of the original tag's type, which Wasmtime's validator wrongly accepts. The guest then mis-types an exception object's payload, corrupting the host's GC heap and causing Wasmtime to panic (denial of service). No public exploit identified at time of analysis; the attack requires AV:N delivery of the component and relatively low attack complexity once the exceptions proposal is active.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.2% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Oct 22, 2026

Wasmtime 47.0.0 through 48.0.3 and 49.0.0 through 49.0.1 accept ill-formed WebAssembly components in which a core module imports a tag whose type is a subtype of the imported tag's declared type, which the specification forbids; a malicious guest can use this to mis-type an exception object payload and corrupt the runtime's GC heap, causing Wasmtime to panic. Exposure requires the WebAssembly exceptions proposal to be enabled (on by default from 47.0.0) and the embedding to instantiate untrusted guest components, and the CVSS vectors indicate authenticated remote access with user interaction. Impact is bounded to availability: the GC heap is designed to tolerate corruption, so the vendor-characterised outcome is a host panic rather than code execution, yielding a moderate-severity denial-of-service rather than an emergency; no public exploit code and no confirmed active exploitation were identified at time of analysis.

RemediationAI

Upgrade to Wasmtime 48.0.4 or 49.0.2, which implement the missing tag-import type check and correctly reject ill-formed components; users on the 48.x line must move to 48.0.4 or later and users on 49.x must move to 49.0.2 or later, with details in GHSA-cfhf-m2cr-62wj (https://github.com/bytecodealliance/wasmtime/security/advisories/GHSA-cfhf-m2cr-62wj). The vendor states there is no known workaround, and the only alternative it offers is to change the embedding so the WebAssembly exceptions proposal is disabled - that removes the vulnerable validation path entirely, but the trade-off is that any guest module relying on exception handling tags will fail validation or instantiation and must be reworked or run in a separate runtime. Embeddings that never instantiate untrusted guest components, or that already run with exceptions disabled, are not exposed and do not require emergency action, though upgrading is still recommended for consistency. No other compensating controls are documented in the available sources.

Affected VersionsENISA

wasmtime 49.0.0 <49.0.2
wasmtime 47.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

The flaw is rooted in CWE-1287 (improper validation of a specified type of input) inside Wasmtime's WebAssembly component-model validation layer. Components wrap core modules, and a core module may import a WebAssembly tag (the exception-handling construct introduced by the exceptions proposal). The validator failed to enforce that the imported tag's type must match the original tag type exactly, and instead accepted a subtype relation; the WebAssembly specification does not permit that substitution. Because the type check passed, a guest could then construct and throw an exception object whose payload was laid out and read under a different type than the importing module expects, driving a type confusion into the Wasmtime GC heap. Wasmtime's GC heap is deliberately built to remain resilient under corruption, but the engine is not proven bug-free in that state, so certain operations on a corrupt heap can panic. The affected code path only executes when the exceptions proposal is enabled, which became the default in Wasmtime 47.0.0; embeddings that leave that proposal off never reach the mis-validated import path. Exploitation is achievable remotely over the untrusted-guest boundary but depends on prerequisites outside the attacker's control (exceptions enabled, host instantiating attacker-supplied components, and a user-interaction step), which is why the assessed vector is AV:N/AC:H/PR:L/UI:R with availability-only impact (A:H) and no confidentiality or integrity effect in the assessed score.

Know when Webassembly 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 (vulncheck) PRIMARY 5.9 MEDIUM
CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:P/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
vuln.today AI 4.8 MEDIUM

Attacker must supply an untrusted guest (PR:L) and the exceptions proposal must be enabled (an attacker-uncontrolled condition, hence AC:H); impact is host panic only, so C:N/I:N/A:H.

3.1 AV:N/AC:H/PR:L/UI:R/S:U/C:N/I:N/A:H
4.0 AV:N/AC:L/AT:P/PR:L/UI:P/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
Red Hat 4.8 MEDIUM

Primary rating from Vendor (vulncheck).

CVSS VectorVendor: vulncheck

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

Lifecycle Timeline

1
Patch available
Oct 22, 2026 - 20:18 EUVD

DescriptionCVE.org

Wasmtime 47.0.0 before 48.0.4 and 49.0.0 before 49.0.2 contains an improper validation vulnerability that accepts components whose core modules import WebAssembly tags with a subtype of the original type. Malicious guests can mis-type exception object payloads to corrupt the GC heap, causing Wasmtime to panic when the exceptions proposal is enabled.

Threat Intelligence Overview

EPSS Score
0.2%
Top 92% exploitable
Prevalence
Medium
popular standalone WebAssembly runtime, but limited overall production footprint
Data Quality
6 sources
Confidence: High

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 MEDIUM
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
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· derived
Medium

Priority Score

30
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +30
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0
CVE-2023-27117 HIGH POC
7.8 Mar 10

WebAssembly v1.0.29 was discovered to contain a heap overflow via the component component wabt::Node::operator. Rated hi

CVE-2022-43281 HIGH POC
7.8 Oct 28

wasm-interp v1.0.29 was discovered to contain a heap overflow via the component std::vector<wabt::Type, std::allocator<w

CVE-2023-31670 HIGH POC
7.5 May 23

An issue in wasm2c 1.0.32, wasm2wat 1.0.32, wasm-decompile 1.0.32, and wasm-validate 1.0.32 allows attackers to cause a

CVE-2021-45290 HIGH POC
7.5 Dec 21

A Denial of Service vulnerability exits in Binaryen 103 due to an assertion abort in wasm::handle_unreachable. Rated hig

CVE-2026-90648 HIGH POC
7.1 Sep 12

Sandbox escape in wasm2c (wabt ≤ 1.0.41) allows an attacker controlling WebAssembly content to achieve arbitrary read/wr

CVE-2022-43282 HIGH POC
7.1 Oct 28

wasm-interp v1.0.29 was discovered to contain an out-of-bounds read via the component OnReturnCallIndirectExpr->GetRetur

CVE-2022-43280 HIGH POC
7.1 Oct 28

wasm-interp v1.0.29 was discovered to contain an out-of-bounds read via the component OnReturnCallExpr->GetReturnCallDro

CVE-2019-15759 MEDIUM POC
6.5 Aug 29

An issue was discovered in Binaryen 1.38.32. Rated medium severity (CVSS 6.5), this vulnerability is remotely exploitabl

CVE-2019-15758 MEDIUM POC
6.5 Aug 29

An issue was discovered in Binaryen 1.38.32. Rated medium severity (CVSS 6.5), this vulnerability is remotely exploitabl

CVE-2019-7704 MEDIUM POC
6.5 Feb 10

wasm::WasmBinaryBuilder::readUserSection in wasm-binary.cpp in Binaryen 1.38.22 triggers an attempt at excessive memory

CVE-2019-7703 MEDIUM POC
6.5 Feb 10

In Binaryen 1.38.22, there is a use-after-free problem in wasm::WasmBinaryBuilder::visitCall in wasm-binary.cpp. Rated m

CVE-2019-7702 MEDIUM POC
6.5 Feb 10

A NULL pointer dereference was discovered in wasm::SExpressionWasmBuilder::parseExpression in wasm-s-parser.cpp in Binar

Vendor StatusVendor

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