Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessSubmit malicious guest module to host (WASI p0 enabled)
-
DeliveryGuest calls poll_oneoff with many subscriptions
-
ExploitAdapter performs O(n) host work without fuel check
-
ExecutionConfigured fuel limit bypassed
-
ImpactHost resource exhaustion / denial of service
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V2 - Validation and Business Logic Resource allocation limits
MITRE ATT&CK
1 technique across 1 tactic: Impact The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires that WASI preview 0 be enabled AND that the host run a guest module the attacker controls. The wasmtime CLI is affected by default because WASI preview 0 is enabled by default; library embeddings are affected ONLY if they explicitly call p0::add_to_linker_async or p0::add_to_linker_sync. The guest must invoke the poll_oneoff API with many subscriptions to force the O(n) host work. Limiting factors that reduce real-world risk: WASIp1, WASIp2, and WASIp3 are unaffected (they consume fuel correctly or do not expose the API), the issue is meaningful only when running untrusted guest code under a fuel limit, and the vendor provides a workaround of disabling preview 0 in the CLI via '-Spreview0=n' in addition to the fixed releases 36.0.17, 48.0.4, and 49.0.2. |
| Impact | This is a medium-severity denial-of-service issue (CVSS 4.0 base 5.1), and the signals are internally consistent rather than conflicting. The 4.0 vector (AV:L/AC:L/AT:N/PR:N/UI:N) with only availability impact (VA:L, VC:N/VI:N) matches the mechanism described: a guest WebAssembly module forces the host to do O(n) work per subscription in the WASI preview 0 poll_oneoff adapter without consuming or checking fuel, defeating a configured fuel limit. AV:L is appropriate because the adversary is a guest module executing locally within the Wasmtime host, not a network peer. There is no CISA KEV listing and no EPSS score in the supplied data, and no public exploit code is identified - the two references are the Bytecode Alliance GHSA advisory and a VulnCheck advisory, not working exploit code. The vuln.today priority is 'this_month,' which aligns with a patch-available, non-emergency DoS rather than an urgent remote code execution. Real-world priority is bounded by the deployment condition: it only matters where untrusted guest code is run with WASI preview 0 enabled (the default for the wasmtime CLI; library embeddings are unaffected unless they explicitly enable p0). For operators running only trusted modules, or using WASIp1/p2/p3, real risk is minimal despite the 'high'-looking fuel-bypass framing. |
| Exploit ScenarioDerived | An operator runs untrusted or semi-trusted WebAssembly modules under the wasmtime CLI (where WASI preview 0 is enabled by default) and relies on a fuel limit to bound guest execution time. A malicious guest invokes poll_oneoff with a very large number of subscriptions; the preview 0 adapter mutates and processes each one in the host doing O(n) work while never consuming or checking fuel, so the guest runs a long host computation that ignores the configured fuel cap and degrades or stalls service. No public exploit code is identified at time of analysis. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 22, 2026
The WASI preview 0 implementation of poll_oneoff in Wasmtime's wasmtime-wasi crate performs host work proportional to the number of subscriptions supplied without consuming or checking fuel, so a malicious guest module can submit a large subscription list and force long-running host computation that ignores configured fuel limits. Affected releases are those before 36.0.17, 37.0.0 through 48.0.3, and 49.0.0 through 49.0.1; the wasmtime CLI is exposed by default because preview 0 is enabled there, while library embeddings are affected only when they explicitly add the p0 adapter through p0::add_to_linker_async or p0::add_to_linker_sync. Exploitation requires running an attacker-controlled guest, WASIp1, WASIp2 and WASIp3 are unaffected, and no public exploit identified at time of analysis; vendor patches are published as 36.0.17, 48.0.4 and 49.0.2.
RemediationAI
Vendor-released patch: upgrade to Wasmtime 36.0.17, 48.0.4 or 49.0.2 depending on the branch in use, as documented in GHSA-j366-h8gg-77pm (https://github.com/bytecodealliance/wasmtime/security/advisories/GHSA-j366-h8gg-77pm). Where an immediate upgrade is not possible, the vendor workaround for CLI deployments is to disable WASI preview 0 with the '-Spreview0=n' flag, at the cost of losing preview 0 guest compatibility; library integrators can achieve the same effect by not registering the p0 adapter through p0::add_to_linker_async or p0::add_to_linker_sync, though guests that require preview 0 will then fail to link. Raising or tuning fuel limits does not remediate the issue, because the adapter work bypasses fuel accounting entirely and the exposure exists only when untrusted guest code is executed under such limits. Remediation is prioritized for this month's cycle; no public exploit identified at time of analysis.
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 a Rust runtime for WebAssembly, and wasmtime-wasi provides the WASI system-call implementations exposed to guest modules. The flaw is classified as CWE-770 (Allocation of Resources Without Limits or Throttling) and lives in the compatibility adapter that maps WASI preview 0 calls onto the WASI preview 1 implementation. The preview 1 poll_oneoff path performs a fuel check, but the preview 0 adapter rewrites each subscription before delegating to the preview 1 version and never performs its own fuel check, so the O(n) per-subscription host work is done outside the metering that is supposed to bound guest execution. Consequently a guest running under a fuel limit can still drive unbounded host-side computation by passing many subscriptions. The vendor notes the trigger is only reachable through the preview 0 interface: WASIp1, WASIp2 and WASIp3 either consume fuel correctly or do not expose this API, and library integrators are exposed only if they explicitly wired the p0 functions into their linker.
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:L/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N
AV:L because a guest module executes locally in the host; PR:N/UI:N as the guest needs no host privileges or interaction; only availability is affected (A:L), with no confidentiality or integrity impact.
Primary rating from Vendor (vulncheck).
CVSS VectorVendor: vulncheck
Lifecycle Timeline
1DescriptionCVE.org
Wasmtime before 36.0.17, 37.0.0 before 48.0.4, and 49.0.0 before 49.0.2 contains a denial of service vulnerability in the wasmtime-wasi WASI preview 0 poll_oneoff adapter, which performs O(n) host work per subscription without consuming or checking fuel. Malicious guest modules can pass many subscriptions to force long-running host computation that ignores configured fuel limits.
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
Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.
EUVD-2026-108304
GHSA-85gj-cvfx-w74q
NVD
CVE.org
EPSS
Exploit-DB