Skip to main content

Wasmtime CVE-2025-62711

LOW
Improper Handling of Exceptional Conditions (CWE-755)
2025-10-24 security-advisories@github.com
2.1
CVSS 4.0 · Vendor: github
View

Attack ChainAIDerived

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

  1. Access
    Supply crafted WebAssembly component
  2. Delivery
    Invoke component-model intrinsic trampoline
  3. Exploit
    Trigger trap during wasm execution
  4. Execution
    Host reads uninitialized trap-handler data
  5. Impact
    Jump to null address, crash host (DoS)

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A10:2025 - Mishandling of Exceptional Conditions
ASVS 5.0
V16 - Security Logging and Error Handling Exception handling procedures
Exploitation Conditions

Exploitation requires all of the following narrow conditions, which sharply limit real-world risk: (1) the host runs Wasmtime 38.0.0, 38.0.1, or 38.0.2 (the Rust 'wasmtime' crate); (2) a deliberately hand-crafted component that directly lifts a component-model intrinsic (e.g. resource.rep) so that the host-to-wasm trampoline for a component intrinsic is actually used - something no conventional toolchain produces; (3) the host embedder invokes that intrinsic with exactly the right type signatures (many pre-built embeddings never use these signatures and therefore cannot run the component at all); and (4) a trap/error must occur during wasm execution so the code path reads the un-updated runtime data. The combination of carefully crafted component plus a specific cooperating embedder plus a required trap is the main limiting factor; there is no authentication or privilege the attacker gains, and impact is confined to crashing the host process.

Impact

All signals converge on this being a genuinely low-priority issue rather than a high-CVSS-but-low-real-risk mismatch. The vendor/NVD CVSS 4.0 base score is only 2.1 (AV:N/AC:H/AT:P/PR:L/UI:P) with impact limited to availability (VA:L/SA:L) and no confidentiality or integrity effect, consistent with CWE-755 and a pure denial-of-service crash. EPSS is 0.43% (35th percentile), the CVE is NOT in CISA KEV, and there is no public exploit identified - so exploitation status is 'no public exploit identified at time of analysis.' The GHSA advisory itself stresses that triggering the bug requires (a) a carefully crafted component no normal toolchain would emit, (b) a specific host embedder invoking component-model intrinsics with exactly the right type signatures, and (c) a trap occurring during execution - a very narrow combination that matches the high attack complexity (AC:H) and attack requirement (AT:P). CONFLICT TO NOTE: I assess the availability impact higher than the vendor - a deterministic segfault crashes the entire host process (a hard crash, not graceful degradation), which I treat as A:H/VA:H rather than Low; however, the extreme preconditions keep real-world risk low regardless of the impact metric. This is a correctness/sandbox-integrity fix (Wasmtime's safety goal is that safe Rust cannot crash the runtime) more than an actively dangerous vulnerability. Remediation is simple: upgrade to 38.0.3; there are no workarounds.

Exploit ScenarioDerived

A service embedding Wasmtime 38.0.0-38.0.2 that loads untrusted WebAssembly components and invokes component-model intrinsics with specific type signatures could be fed a maliciously crafted component; when a trap occurs during its execution, an un-updated host-to-wasm trampoline leaves trap-handling runtime data uninitialized (e.g. a jump target left at 0), causing execution to jump to the null address and deterministically segfault, crashing the whole host process. No public exploit code exists, and the required component and embedder type signatures are highly specific, so this is a theoretical DoS rather than an opportunistic one.

Monitor Track and reassess. Why: LOW severity (CVSS 0.1-3.9).
Patch available 0.4% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Oct 01, 2026

Crashes the host process in Wasmtime 38.0.0 through 38.0.2 when a deliberately hand-crafted WebAssembly component bypasses normal toolchain output to invoke a component-model intrinsic (for example resource.rep) through the host-to-wasm trampoline, and then a trap or error occurs while that intrinsic executes - the trampoline fails to populate the runtime trap-dispatch data, so execution jumps to address 0 and the host dies with a segfault or a Rust assertion failure. The prerequisites are narrow and must all line up: the vulnerable 38.x release, a component no conventional toolchain would emit, a host embedder that calls the intrinsic with exactly the right type signatures, and a subsequent wasm error on the affected path, which is why the independent assessment rates this as a low-priority, availability-only defect rather than a broadly exploitable flaw. The Rust crate was fixed in 38.0.3, no workarounds are offered by the vendor, the EPSS score is 0.43% (35th percentile), and no public exploit code identified at time of analysis.

RemediationAI

Upgrade to Wasmtime 38.0.3, the vendor-released patch that corrects the component-intrinsic host-to-wasm trampoline bookkeeping; this is the only fix, since the advisory states there are no workarounds (fixed in: 38.0.3, vulnerable: >= 38.0.0, < 38.0.3). Audit Cargo.lock and any vendored or bundled Wasmtime copies, including bindings and tools that embed the crate, because the CPE scopes the issue to the rust/wasmtime artifact and a stale transitive dependency will keep the exposure. If 38.0.3 cannot be deployed immediately, downgrading to the 37.x line removes the flaw entirely at the cost of losing 38.x features and fixes, and it is a safer stopgap than any partial configuration change. As compensating controls while a rollout is pending, refuse to run untrusted or externally supplied component binaries - in particular require that components come from a trusted toolchain rather than accepting arbitrary .wasm builds, since triggering the bug requires a component that directly lifts a component-model intrinsic such as resource.rep in a shape no normal toolchain emits; the trade-off is reduced functionality for legitimate hand-written intrinsic-based components. Additionally, run Wasmtime under a supervisor that restarts the process on abnormal exit, since the assessed impact is host-process crash with no confidentiality or integrity loss, and treat repeated segfaults as an exploitation indicator rather than a bug. Full details and patch links are in GHSA-4h67-722j-5pmc and the fix commit 192f2fcdadfec9d0cf6b58548a85a7307450cbf5.

Affected Packages

cargo wasmtime fix: 38.0.3

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 is Bytecode Alliance's WebAssembly runtime, distributed primarily as the Rust wasmtime crate (tracked by CPE cpe:2.3:a:bytecodealliance:wasmtime:*:*:*:*:*:rust:*:*). Wasmtime 38 refactored host-to-wasm trampolines away from setjmp/longjmp stack unwinding toward an explicit exception-handling model in the Cranelift code generator; the accompanying patch touches Cranelift ABI clobber definitions for AArch64 and x64 (ALL_CLOBBERS for exception exits, new Winch and Tail call-convention arms, SYSV/WINDOWS clobber selection), call-convention exception handling, Pulley relocation rules, and the compiler's component trampoline emission, which now builds a try_call block, an exception table, and save_last_wasm_entry_context instead of a direct declare_and_call. During that transition the trampolines generated specifically for component-model intrinsics were not updated, so they skipped the bookkeeping that records where to resume when wasm traps. A trap then reads that unset runtime value - left at 0 for the missing jump target - and the process deterministically faults. The root cause class is CWE-755, Improper Handling of Exceptional Conditions: the error path exists but the state it depends on was never initialized for this trampoline family. Because affected components are intentionally malformed relative to any real toolchain's output, this is best understood as a robustness violation of Wasmtime's guarantee that safe Rust embeddings cannot be crashed by untrusted wasm, not as a memory-corruption or code-execution primitive.

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

Untrusted guest component crashes the host process (S:C, A:H), attacker needs no privileges (PR:N), but the crafted-component plus specific-embedder-plus-trap preconditions make AC:H; no C/I impact.

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

Primary rating from Vendor (github).

CVSS VectorVendor: github

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

DescriptionCVE.org

Wasmtime is a runtime for WebAssembly. In versions from 38.0.0 to before 38.0.3, the implementation of component-model related host-to-wasm trampolines in Wasmtime contained a bug where it's possible to carefully craft a component, which when called in a specific way, would crash the host with a segfault or assert failure. Wasmtime 38.0.3 has been released and is patched to fix this issue. There are no workarounds.

Threat Intelligence Overview

EPSS Score
0.4%
Top 65% exploitable
Prevalence
Medium
popular standalone WebAssembly runtime, but not ubiquitous core infrastructure
Data Quality
5 sources
Confidence: Medium

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 LOW
CISA KEV No
Public POC No
EPSS 0.4%
Patch available Yes
Active threat No
Deciding rule
LOW severity (CVSS 0.1-3.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
Open
Automatable· derived
No
Human Impact· derived
Low

Priority Score

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

Attack Technique

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

Affected Products (CPE)CVE.org

cpe:2.3:a:bytecodealliance:wasmtime:*:*:*:*:*:rust:*:*
CVE-2026-115893 CRITICAL
9.9 Oct 23

Sandbox escape in Wasmtime on aarch64 lets a user-supplied WebAssembly module redirect an oversized br_table branch to a

CVE-2026-115889 CRITICAL
9.9 Oct 23

Wasmtime versions before 36.0.19, and the 37.0.0 through 42.x line, can silently miscompile attacker-supplied WebAssembl

CVE-2023-26489 CRITICAL
9.9 Mar 08

wasmtime is a fast and secure runtime for WebAssembly. Rated critical severity (CVSS 9.9), this vulnerability is remotel

CVE-2022-39394 CRITICAL
9.8 Nov 10

Wasmtime is a standalone runtime for WebAssembly. Rated critical severity (CVSS 9.8), this vulnerability is remotely exp

CVE-2022-24791 CRITICAL
9.8 Mar 31

Wasmtime is a standalone JIT-style runtime for WebAssembly, using Cranelift. Rated critical severity (CVSS 9.8), this vu

CVE-2024-30266 MEDIUM POC
5.5 Apr 04

wasmtime is a runtime for WebAssembly. Rated medium severity (CVSS 5.5), this vulnerability is low attack complexity. Pu

CVE-2026-34987 CRITICAL
9.0 Apr 09

Memory sandbox escape in Wasmtime's Winch compiler (versions 25.0.0 to before 36.0.7, 42.0.2, 43.0.1) enables authentica

CVE-2026-34971 CRITICAL
9.0 Apr 09

Arbitrary memory read/write vulnerability in Bytecode Alliance Wasmtime versions 32.0.0 through 36.0.6, 42.0.0-42.0.1, a

CVE-2023-30624 HIGH
8.8 Apr 27

Wasmtime is a standalone runtime for WebAssembly. Rated high severity (CVSS 8.8), this vulnerability is remotely exploit

CVE-2022-31146 HIGH
8.8 Jul 21

Wasmtime is a standalone runtime for WebAssembly. Rated high severity (CVSS 8.8), this vulnerability is remotely exploit

CVE-2022-39393 HIGH
8.6 Nov 10

Wasmtime is a standalone runtime for WebAssembly. Rated high severity (CVSS 8.6), this vulnerability is remotely exploit

CVE-2026-27572 HIGH
7.5 Feb 24

Wasmtime's HTTP header handling in the wasmtime-wasi-http crate crashes when processing excessive header fields, allowin

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