Cyber Resilience

CVE-2026-35186

Bytecodealliance Wasmtime 25.0.0 – 36.0.7

Published
09 April 2026
Modified
15 April 2026
Patch / advisory
CVSS Score v4 6.1
Click a component to see what it means
Raw vectorCVSS:4.0/AV:N/AC:H/AT:P/PR:L/UI:N/VC:L/VI:L/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
EPSS Score 0.0021 12th percentile
Risk Priority 26 floored blend · peak EPSS

Summary

CVE-2026-35186 is a medium-severity Memory Allocation with Excessive Size Value (CWE-789) vulnerability in Bytecodealliance Wasmtime. Its CVSS base score is 6.1 (Medium).

Operationally, exploitation aligns with the MITRE ATT&CK technique Endpoint Denial of Service (T1499); ranked at the 12th percentile by exploit likelihood (below the median); it is not currently listed in the CISA KEV catalog.

The strongest mitigations our analysis identified map to SI-10 (Information Input Validation) and SC-6 (Resource Availability) — see the control section below for these in your framework.

Deeper analysis AI-assisted summary

Synthesised by an AI model from the NVD description and linked references — a reading aid, not an authoritative source.

CVE-2026-35186 is a vulnerability in Wasmtime, a runtime for WebAssembly, specifically affecting its Winch compiler backend in versions from 25.0.0 up to but not including 36.0.7, 42.0.2, and 43.0.1. The issue arises during translation of the table.grow operator for 32-bit tables, where the result is incorrectly typed as a 64-bit value instead of 32-bit within Winch's internal representation. This leads to invalid compiler state that enables storage or reading of bytes in the host's address space, limited to the 16 bytes immediately before linear memory. Wasmtime's default compiler is Cranelift rather than Winch, and default configurations include guard pages before linear memory, mitigating the impact in standard setups.

Attackers can exploit this remotely with low complexity and no privileges or user interaction required, as reflected in its CVSS v3.1 base score of 7.5 (AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H). By triggering table.grow, adversaries can induce a denial-of-service condition by crashing the host process when Wasmtime detects and aborts on the invalid memory access to unmapped bytes before linear memory. In configurations where Winch is explicitly enabled and guard pages are disabled, exploitation could potentially leak up to 16 bytes of host data preceding linear memory, though the primary effect remains process termination.

The Wasmtime security advisory at https://github.com/bytecodealliance/wasmtime/security/advisories/GHSA-f984-pcp8-v2p7 details the fix in releases 36.0.7, 42.0.2, and 43.0.1. Practitioners should upgrade to these patched versions, avoid enabling the Winch backend unless necessary, and retain default guard pages before linear memory to prevent exploitation. The vulnerability is mapped to CWE-789 (Uncontrolled Memory Allocation).

EU & UK References

Vulnerability Data

Wasmtime is a runtime for WebAssembly. From 25.0.0 to before 36.0.7, 42.0.2, and 43.0.1, Wasmtime's Winch compiler backend contains a bug where translating the table.grow operator causes the result to be incorrectly typed. For 32-bit tables this means that the…

more

result of the operator, internally in Winch, is tagged as a 64-bit value instead of a 32-bit value. This invalid internal representation of Winch's compiler state compounds into further issues depending on how the value is consumed. The primary consequence of this bug is that bytes in the host's address space can be stored/read from. This is only applicable to the 16 bytes before linear memory, however, as the only significant return value of table.grow that can be misinterpreted is -1. The bytes before linear memory are, by default, unmapped memory. Wasmtime will detect this fault and abort the process, however, because wasm should not be able to access these bytes. Overall this this bug in Winch represents a DoS vector by crashing the host process, a correctness issue within Winch, and a possible leak of up to 16-bytes before linear memory. Wasmtime's default compiler is Cranelift, not Winch, and Wasmtime's default settings are to place guard pages before linear memory. This means that Wasmtime's default configuration is not affected by this issue, and when explicitly choosing Winch Wasmtime's otherwise default configuration leads to a DoS. Disabling guard pages before linear memory is required to possibly leak up to 16-bytes of host data. This vulnerability is fixed in 36.0.7, 42.0.2, and 43.0.1.

CWE(s)

Related Threats

MITRE ATT&CK Enterprise Techniques

T1499 Endpoint Denial of Service Impact
Adversaries may perform Endpoint Denial of Service (DoS) attacks to degrade or block the availability of services to users.
T1499.003 Application Exhaustion Flood Impact
Adversaries may target resource intensive features of applications to cause a denial of service (DoS), denying availability to those applications.
Derived from this CVE’s CWE(s) via the direct CWE→ATT&CK cross-walk.

CVEs Like This One

CVE-2026-27204Same product: Bytecodealliance Wasmtime
CVE-2026-54786Same product: Bytecodealliance Wasmtime
CVE-2026-34944Same product: Bytecodealliance Wasmtime
CVE-2025-61670Same product: Bytecodealliance Wasmtime
CVE-2024-51745Same product: Bytecodealliance Wasmtime
CVE-2026-34943Same product: Bytecodealliance Wasmtime
CVE-2026-27572Same product: Bytecodealliance Wasmtime
CVE-2025-62711Same product: Bytecodealliance Wasmtime
CVE-2026-27195Same product: Bytecodealliance Wasmtime
CVE-2026-44216Same product: Bytecodealliance Wasmtime

Affected Assets

bytecodealliance
wasmtime
43.0.0 · 25.0.0 — 36.0.7 · 37.0.0 — 42.0.2

Mitigating Controls

Mitigating Controls (NIST 800-53 r5) AI

Input validation directly rejects or bounds untrusted size values before any allocation occurs.

Resource quotas and priority allocation limit the system-wide impact of an oversized request.

Mitigating Controls (NIST CSF 2.0) AI

Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→CSF cross-walk (authority under review) — links open the control.

PR.PS-06 mostly match
prevents

Secure SDLC practices directly prevent coding flaws that trust unvalidated size values for allocations.

Mitigating Controls (ISO/IEC 27001:2022 Annex A) AI

Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→ISO cross-walk (authority under review) — links open the control.

finds

Security testing in development can detect and block excessive allocation flaws before deployment.

prevents

Secure development lifecycle includes input validation and size checks that prevent unbounded allocations.

prevents

Application security requirements mandate bounds checking on size parameters to avoid excessive memory allocation.

prevents

Secure architecture principles require resource-limit enforcement that mitigates uncontrolled memory requests.

prevents

Secure coding standards directly prohibit allocating memory from untrusted size values without validation.

none

Capacity management monitors overall resource use but does not prevent individual allocation bugs.

References