Skip to main content

Wasmtime CVE-2026-115387

| EUVDEUVD-2026-108316 MEDIUM
Integer Overflow or Wraparound (CWE-190)
2026-10-22 disclosure@vulncheck.com GHSA-xxx8-c5qx-wvm3
6.9
CVSS 4.0 · Vendor: vulncheck
View

Attack ChainAIDerived

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

  1. Access
    Load untrusted WASI guest into host
  2. Exploit
    Guest calls set-times/fd_filestat_set_times with overflowing mtim
  3. Execution
    Duration::new overflow panics host
  4. Impact
    Host process crashes, denying service

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Integer overflow checks
MITRE ATT&CK

1 technique across 1 tactic: Execution

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires the ability to execute an untrusted or malicious guest WASI module inside the host, and that the host has granted the guest filesystem access (e.g. preopened directories) reachable by the time-setting calls. The guest must invoke path_filestat_set_times or fd_filestat_set_times (wasip1), or set-times/set-times-at on wasi:filesystem/types.descriptor (wasip2/wasip3), passing an atim or mtim Timestamp/Datetime whose microseconds field overflows the seconds field. For wasip1 specifically, the relevant fst_flags must NOT set ATIM_NOW/MTIM_NOW, because those flags bypass the supplied atim/mtim argument. Limiting factors: there is no network vector (AV:L) - the attacker must already be running guest code; hosts that execute only trusted first-party wasm modules, or that do not expose WASI filesystem set-times capabilities to guests, are not realistically exposed. The complete fix is upgrading wasmtime-wasi to 36.0.16, 48.0.3, or 49.0.1 as stated by the vendor.

Impact

The source assigns CVSS 4.0 base 6.9 (medium) with vector AV:L/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H - a pure availability (denial-of-service) impact with no confidentiality or integrity consequence. The critical signal is AV:L: this is NOT a network-reachable flaw. The 'attacker' is a guest WASI module already executing inside the host process, so real-world risk is bounded entirely by whether a deployment runs untrusted or semi-trusted guest code. No EPSS score, no CISA KEV entry, and no public exploit were provided in the input, and the vuln.today decision label is 'this_month' (moderate), not act_now/emergency - all consistent with a serious-but-not-fire-drill issue. Where it genuinely matters is multi-tenant or plugin-style WASM hosting (serverless/edge, embedded untrusted modules): there a single malicious guest can panic the shared host and take down co-tenants, so for those operators this is a real availability priority. For deployments that execute only trusted, first-party wasm modules, exploitability is largely theoretical. The CWE-190 integer-overflow classification matches the described mechanism (microseconds field overflowing the seconds field, causing Rust's std::time::Duration::new to panic), so the metadata is internally consistent; the main caveat is the absence of EPSS/KEV/POC signals rather than any conflict between them.

Exploit ScenarioDerived

On a multi-tenant WebAssembly platform that runs untrusted guest modules with filesystem access, a hostile tenant invokes set-times/set-times-at (wasip2/3) or fd_filestat_set_times/path_filestat_set_times (wasip1) with an atim or mtim whose microseconds field overflows the seconds field (e.g. seconds u64::MAX/i64::MAX, microseconds 1_000_000_000). The resulting Duration::new panic crashes the entire host process, denying service to all co-located guests. No packaged public exploit was identified at time of analysis, though the Bytecode Alliance advisory documents the exact overflowing values needed to trigger it.

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

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

Alert me

AnalysisAIv1 – Oct 22, 2026

Guest WASI programs running under Wasmtime can crash the host runtime by supplying a filesystem timestamp whose sub-second field overflows into the seconds field, driving the Rust std::time::Duration::new construction into a panic and taking down the host process (denial of service only, with no confidentiality or integrity impact). Affected are wasmtime-wasi releases before 36.0.16, 37.0.0 through 48.0.3, and 49.0.0; the flaw is reachable only when the embedder actually runs untrusted guest code and has granted it WASI filesystem access reachable by the time-setting calls, so hosts executing only trusted first-party modules or withholding set-times capability are not realistically exposed. No active exploitation is confirmed (not in CISA KEV) and no public exploit has been identified at time of analysis; the vendor has released fixes in 36.0.16, 48.0.3, and 49.0.1.

RemediationAI

Vendor-released patches exist: upgrade wasmtime-wasi to 36.0.16, 48.0.3, or 49.0.1 depending on the branch you track (49.0.0 users move to 49.0.1; 37.x through 48.x users move to 48.0.3; 36.x users move to 36.0.16), as documented in GHSA-j2g9-4prp-pf6h. Because the trigger requires a malicious guest to reach WASI filesystem time-setting calls, hosts that cannot upgrade immediately can reduce exposure by not granting untrusted guest modules preopened directories or filesystem capabilities usable by the set-times calls, or by executing only trusted first-party wasm modules until patched - at the cost of removing legitimate filesystem functionality from those guests. Note that the vendor identifies the upgraded release as the complete fix; the trigger conditions are not described beyond the timestamp overflow itself, so no other code-level workaround is documented.

Affected VersionsENISA

wasmtime 0 <36.0.16
wasmtime 37.0.0 <48.0.3
wasmtime 49.0.0 <49.0.1

Affected Packages

cargo wasmtime-wasi fix: 36.0.16, 48.0.3, 49.0.1
euvd wasmtime fix: 36.0.16, 48.0.3, 49.0.1

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 2 packages in cargo, euvd

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

Technical ContextAI · show details

Wasmtime is the Bytecode Alliance's Rust implementation of the WebAssembly runtime and component model, and the wasmtime-wasi crate implements the WASI system interface that exposes host capabilities such as filesystem access to sandboxed guests. This is a CWE-190 integer-overflow defect that surfaces as a Rust panic: the WASI timestamp structures carry a seconds field plus a sub-second (microseconds) field, and the fst_flags/ATIM_NOW/MTIM_NOW logic aside, converting an attacker-chosen value such as Timestamp { seconds: u64::MAX, microseconds: 1_000_000_000 } into a std::time::Duration reaches the overflow branch of std::time::Duration::new, which panics rather than returning an error. Because panics in the host are not converted into a guest-visible trap or error return, a guest can unwind the host runtime instead of merely failing its own call. The same root cause spans all three WASI iterations: in wasip1 the exposure is through path_filestat_set_times and fd_filestat_set_times (atim/mtim arguments, unless ATIM_NOW/MTIM_NOW override them); in wasip2 through set-times and set-times-at on wasi:filesystem/types.descriptor taking new-timestamp values carrying a datetime struct with a u64 seconds field; and in wasip3 through the same descriptor methods with an i64 seconds field. The affected component is packaged as rust/wasmtime-wasi; the vendor advisory is GHSA-j2g9-4prp-pf6h.

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 6.9 MEDIUM
CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
vuln.today AI 6.2 MEDIUM

AV:L because the attacker is an untrusted guest module already executing in the host; PR:N as a guest needs no host privileges; A:H for full host-process DoS; C/I:N as no data is read or altered.

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

Primary rating from Vendor (vulncheck).

CVSS VectorVendor: vulncheck

Attack Vector
Local
Attack Complexity
Low
Attack Requirements
None
Privileges Required
None
User Interaction
None
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 before 36.0.16, 37.0.0 before 48.0.3, and 49.0.0 before 49.0.1 contains a denial of service vulnerability in wasmtime-wasi that allows guest WASI programs to panic the host via overflowing filesystem timestamps. Attackers can pass atim or mtim values whose sub-second field overflows the seconds field to path_filestat_set_times, fd_filestat_set_times, set-times, or set-times-at, crashing the host.

Threat Intelligence Overview

EPSS Score
0.1%
Top 99% exploitable
Prevalence
Medium
leading WebAssembly runtime, common in edge/serverless, not universally deployed
Data Quality
3 sources
Confidence: Low

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.1%
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
Defer
Exploitation· derived
None
System Exposure· derived
Small
Automatable· derived
No
Human Impact· derived
Medium

Priority Score

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

Attack Technique

Integer overflow occurs when an arithmetic operation produces a result that exceeds the maximum value a given integer type can store.

Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.

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

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