Skip to main content

Wasmtime CVE-2026-34971

| EUVDEUVD-2026-21027 CRITICAL
Out-of-bounds Read (CWE-125)
2026-04-09 GitHub_M GHSA-jhxm-h53p-jm7w
9.0
CVSS 4.0 · Vendor: GitHub_M
View

Attack ChainAIDerived

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

  1. Access
    Craft malicious WebAssembly module
  2. Delivery
    Exploit Cranelift aarch64 heap access bug
  3. Exploit
    Bypass bounds check validation
  4. Execution
    Access out-of-bounds memory
  5. Impact
    Read sensitive data or execute code

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Bounds checking, read limits
MITRE ATT&CK

1 technique across 1 tactic: Collection

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

Exploitation Conditions

Wasmtime versions 32.0.0 to before 36.0.7, 42.0.2, and 43.0.1 on aarch64 architecture. Requires a malicious WebAssembly module with specific heap access patterns and explicit bounds checks. Attacker needs ability to load and execute untrusted WASM code on the target system.

Impact

Critical sandbox escape affecting Wasmtime 32.0.0-36.0.6, 42.0.0-42.0.1, 43.0.0 on aarch64 with 64-bit WebAssembly and Spectre mitigations disabled. Authenticated access required. Miscompiled heap load operations allow guests to bypass bounds checks and read/write arbitrary host memory, fully compromising isolation. High severity justified by sandbox bypass and arbitrary memory access despite authentication gating.

Exploit ScenarioDerived

Attacker deploys malicious WebAssembly module on vulnerable Wasmtime instance with 64-bit memory and Spectre mitigations off. Module crafts load(iadd(base, ishl(index, shift))) pattern, passing bounds check via one address computation but loading from attacker-controlled alternate address. Reads/writes host memory bypassing sandbox.

Act Now Prioritize within 24-48h. Why: CRITICAL severity.
Patch available 0.0% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Apr 09, 2026

Arbitrary memory read/write vulnerability in Bytecode Alliance Wasmtime versions 32.0.0 through 36.0.6, 42.0.0-42.0.1, and 43.0.0 allows authenticated remote attackers to escape WebAssembly sandbox restrictions. The Cranelift compilation backend on aarch64 architecture miscompiles specific heap access patterns, creating divergent address computations where bounds checks validate one address while loads access another, enabling sandbox escape through unrestricted host memory access. Exploitation requires 64-bit WebAssembly linear memories with Spectre mitigations and signals-based-traps disabled. No public exploit identified at time of analysis.

RemediationAI

Vendor-released patches: upgrade immediately to Wasmtime 36.0.7, 42.0.2, or 43.0.1 depending on deployment version branch. These releases correct the Cranelift instruction selection mask logic eliminating divergent address computation. For environments unable to patch immediately, enable Spectre mitigations via runtime configuration, which prevents generation of the vulnerable load pattern and serves as effective temporary mitigation. Alternatively, enable signals-based-traps configuration option. Organizations using 32-bit WebAssembly or non-aarch64 architectures are not affected. Full technical details and patch information: https://github.com/bytecodealliance/wasmtime/security/advisories/GHSA-jhxm-h53p-jm7w

Affected VersionsENISA

wasmtime 37.0.0, < 42.0.2
wasmtime 43.0.0, < 44.0.1
wasmtime 32.0.0, < 36.0.7

Affected Packages

cargo wasmtime fix: 36.0.7, 42.0.2, 43.0.1, 44.0.1

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

CWE-125 out-of-bounds read stems from incorrect instruction selection in Cranelift's aarch64 backend. Pattern-matching rule for load(iadd(base, ishl(index, amt))) applies faulty bit masking to constant shift amount, causing erroneous lowering that diverges from WebAssembly semantics. Miscompilation generates load instructions accessing unintended memory offsets, bypassing bounds validation while address wrapping occurs in bounds-check computation but not load execution.

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_M) PRIMARY 9.0 CRITICAL
CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H
SUSE 7.8 HIGH
AV:L/AC:H/PR:L/UI:N/S:C/C:H/I:H/A:H
Red Hat 8.5 HIGH

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

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

Lifecycle Timeline

2
Patch released
Apr 10, 2026 - 02:30 nvd
Patch available
CVE Published
Apr 09, 2026 - 18:45 nvd
CRITICAL 9.0

DescriptionCVE.org

Wasmtime is a runtime for WebAssembly. From 32.0.0 to before 36.0.7, 42.0.2, and 43.0.1, Wasmtime's Cranelift compilation backend contains a bug on aarch64 when performing a certain shape of heap accesses which means that the wrong address is accessed. When combined with explicit bounds checks a guest WebAssembly module this can create a situation where there are two diverging computations for the same address: one for the address to bounds-check and one for the address to load. This difference in address being operated on means that a guest module can pass a bounds check but then load a different address. Combined together this enables an arbitrary read/write primitive for guest WebAssembly when accesssing host memory. This is a sandbox escape as guests are able to read/write arbitrary host memory. This vulnerability has a few ingredients, all of which must be met, for this situation to occur and bypass the sandbox restrictions. This miscompiled shape of load only occurs on 64-bit WebAssembly linear memories, or when Config::wasm_memory64 is enabled. 32-bit WebAssembly is not affected. Spectre mitigations or signals-based-traps must be disabled. When spectre mitigations are enabled then the offending shape of load is not generated. When signals-based-traps are disabled then spectre mitigations are also automatically disabled. The specific bug in Cranelift is a miscompile of a load of the shape load(iadd(base, ishl(index, amt))) where amt is a constant. The amt value is masked incorrectly to test if it's a certain value, and this incorrect mask means that Cranelift can pattern-match this lowering rule during instruction selection erroneously, diverging from WebAssembly's and Cranelift's semantics. This incorrect lowering would, for example, load an address much further away than intended as the correct address's computation would have wrapped around to a smaller value insetad. This vulnerability is fixed in 36.0.7, 42.0.2, and 43.0.1.

Executive ViewAI

Why It Matters

Bytecode Alliance Wasmtime versions 32.0.0-36.0.6, 42.0.0-42.0.1, and 43.0.0 contain a critical sandbox escape vulnerability that allows authenticated attackers to read and write arbitrary host memory, bypassing WebAssembly isolation controls. Organizations running Wasmtime on aarch64 architecture face immediate risk of privilege escalation and data exfiltration if untrusted WebAssembly modules are executed, requiring urgent action to isolate or restrict affected deployments.

Business Impact: Severe
Compensating Controls

No vendor-released patch identified at time of analysis. Interim mitigations: disable Spectre mitigations (AArch64-specific hardening) and disable signal-based traps on affected deployments to prevent exploitation path-both require architectural review for compatibility. Restrict execution to trusted WebAssembly modules only and isolate Wasmtime processes with strict network segmentation and capability-based access controls. Monitor for exploit indicators including unusual memory access patterns and out-of-bounds operations in Wasmtime logs.

Threat Intelligence Overview

EPSS Score
0.0%
Top 97% exploitable
Threat Intel
1
1 source
Data Quality
8 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GHSA Vendor GitHub VulDB

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 CRITICAL
CISA KEV No
Public POC No
EPSS 0.0%
Patch available Yes
Active threat No
Deciding rule
CRITICAL severity
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
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact
Very High
Technical Impact
Total

Priority Score

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

Attack Technique

A buffer overflow occurs when a program writes more data to a memory buffer than it was allocated to hold, causing the excess data to spill into adjacent memory regions.

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

CVE-2026-115893 CRITICAL POC
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 POC
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-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

CVE-2026-27195 HIGH
7.5 Feb 24

Wasmtime versions 39.0.0 and later experience a denial-of-service panic when async WebAssembly component functions are c

Vendor StatusVendor

SUSE

Severity: High
Product Status
SUSE Linux Enterprise Server 16.1 Fixed
SUSE Linux Enterprise Server for SAP applications 16.1 Fixed

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