Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessLoad untrusted WASI guest into host
-
ExploitGuest calls set-times/fd_filestat_set_times with overflowing mtim
-
ExecutionDuration::new overflow panics host
-
ImpactHost 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. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – 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
Affected Packages
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
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
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.
Primary rating from Vendor (vulncheck).
CVSS VectorVendor: vulncheck
Lifecycle Timeline
1DescriptionCVE.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
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
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.
More in Webassembly
View allWebAssembly v1.0.29 was discovered to contain a heap overflow via the component component wabt::Node::operator. Rated hi
wasm-interp v1.0.29 was discovered to contain a heap overflow via the component std::vector<wabt::Type, std::allocator<w
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
A Denial of Service vulnerability exits in Binaryen 103 due to an assertion abort in wasm::handle_unreachable. Rated hig
Sandbox escape in wasm2c (wabt ≤ 1.0.41) allows an attacker controlling WebAssembly content to achieve arbitrary read/wr
wasm-interp v1.0.29 was discovered to contain an out-of-bounds read via the component OnReturnCallIndirectExpr->GetRetur
wasm-interp v1.0.29 was discovered to contain an out-of-bounds read via the component OnReturnCallExpr->GetReturnCallDro
An issue was discovered in Binaryen 1.38.32. Rated medium severity (CVSS 6.5), this vulnerability is remotely exploitabl
An issue was discovered in Binaryen 1.38.32. Rated medium severity (CVSS 6.5), this vulnerability is remotely exploitabl
wasm::WasmBinaryBuilder::readUserSection in wasm-binary.cpp in Binaryen 1.38.22 triggers an attempt at excessive memory
In Binaryen 1.38.22, there is a use-after-free problem in wasm::WasmBinaryBuilder::visitCall in wasm-binary.cpp. Rated m
A NULL pointer dereference was discovered in wasm::SExpressionWasmBuilder::parseExpression in wasm-s-parser.cpp in Binar
EUVD-2026-108316
GHSA-xxx8-c5qx-wvm3
NVD
CVE.org
EPSS
Exploit-DB