9.9

CVE-2026-34987: bytecodealliance wasmtime Out-of-bounds Read

CVSS: 9.9v3.1CriticalAnalyzed
AliasesUBUNTU-CVE-2026-34987DEBIAN-CVE-2026-34987CGA-3hg6-r4j7-qpj5
Published 09-04-2026Last modified 10-04-2026

Vulnerability summary

CVE-2026-34987 is a critical (CVSS 9.9) Out-of-bounds Read vulnerability in bytecodealliance wasmtime. EPSS estimates a 0.49% chance of exploitation in the next 30 days, higher than 40.8% of scored vulnerabilities.

Overall risk
70/100
0100
High · default modelHow is this calculated?
CVSS score
9.9/10
010
Critical · v3.1 (NVD)
EPSS score
0.49%
0%100%
Low · +0.21 pp in 30 days
KEVNot listedIn no KEV catalog
RansomwareNone recordedNo known use recorded
Public exploits0No public exploits recorded

Advisory lineage

Upstream 0 · Downstream 0 · Related 1

Timeline

  1. 09-04-2026
    PublishedVulnerability first disclosed.
  2. 10-04-2026
    Last modifiedVulnerability information updated.

Description

Wasmtime is a runtime for WebAssembly. From 25.0.0 to before 36.0.7, 42.0.2, and 43.0.1, Wasmtime with its Winch (baseline) non-default compiler backend may allow properly constructed guest Wasm to access host memory outside of its linear-memory sandbox. This vulnerability requires use of the Winch compiler (-Ccompiler=winch). By default, Wasmtime uses its Cranelift backend, not Winch. With Winch, the same incorrect assumption is present in theory on both aarch64 and x86-64. The aarch64 case has an observed-working proof of concept, while the x86-64 case is theoretical and may not be reachable in practice. This Winch compiler bug can allow the Wasm guest to access memory before or after the linear-memory region, independently of whether pre- or post-guard regions are configured. The accessible range in the initial bug proof-of-concept is up to 32KiB before the start of memory, or ~4GiB after the start of memory, independently of the size of pre- or post-guard regions or the use of explicit or guard-region-based bounds checking. However, the underlying bug assumes a 32-bit memory offset stored in a 64-bit register has its upper bits cleared when it may not, and so closely related variants of the initial proof-of-concept may be able to access truly arbitrary memory in-process. This could result in a host process segmentation fault (DoS), an arbitrary data leak from the host process, or with a write, potentially an arbitrary RCE. This vulnerability is fixed in 36.0.7, 42.0.2, and 43.0.1.

CVSS metrics

9 scores · 7 sources · 2 versions

EPSS trend

Probability

0.49%

Chance of exploitation in the next 30 days

Percentile

41%

Versus all other CVEs

30-day change

+0.21 pp

From 0.28% on 20-09-2026

20-09-202620-10-2026
EPSS score
0.49%

Known exploited

Compare KEV catalogs

Not in any of the 3 tracked catalogs.

Public exploits

0 found

No public exploits indexed.

Weaknesses

CWE · root cause

Affected systems

Chainguard5 products
  • washAll versions (No fix recorded)
  • wasmcloud< 2.0.4-r0
  • wizer< 11.0.3-r10
  • yara-x< 1.15.0-r2
  • zed< 0.228.0-r3
Wolfi5 products
  • washAll versions (No fix recorded)
  • wasmcloud< 2.0.4-r0
  • wizer< 11.0.3-r10
  • yara-x< 1.15.0-r2
  • zed< 0.228.0-r3
Bytecodealliance1 product
  • wasmtime≥ 43.0.0, < 44.0.1 | ≥ 25.0.0, < 36.0.7 | ≥ 37.0.0, < 42.0.2 | 43.0.0
Crates.Io1 product
  • wasmtime≥ 25.0.0, < 36.0.7 | ≥ 37.0.0, < 42.0.2 | ≥ 43.0.0, < 43.0.1
Debian1 product
  • rust-wasmtimeAll versions (No fix recorded) | < 36.0.7+dfsg-1
Ubuntu1 product
  • rust-wasmtimeAll versions (No fix recorded)

6 vendors · 14 products

References

10 links