
Cloud Vulnerability DB
A community-led vulnerabilities database
CVE-2026-115889 is a critical sandbox escape vulnerability in Wasmtime, a WebAssembly runtime developed by the Bytecode Alliance, caused by a numeric truncation error in the Cranelift compiler backend. The Cranelift backend bit-packs SSA (Static Single Assignment) value indices into a u64 using only 24-bit fields, which can silently overflow in release builds when compiling sufficiently large or specially crafted Wasm functions with many SSA values. This overflow causes Cranelift to reference incorrect IR values, enabling arbitrary miscompilation, type confusion, and WebAssembly sandbox escape on any architecture using the default Cranelift backend. Affected versions are all Wasmtime releases prior to 36.0.19 and versions 37.0.0 through 42.x (prior to 43.0.0). The vulnerability was published on October 23, 2026, and carries a CVSS v3.1 base score of 9.9 (Critical) (GitHub Advisory).
The root cause is a numeric truncation error (CWE-197) in Cranelift's ValueDataPacked struct, which previously encoded SSA value indices (x and y) as 24-bit fields within a packed u64. When a Wasm function contains more SSA values than fit in 24 bits, the index silently overflows in release builds (where debug_assert! checks are disabled), causing Cranelift to reference wrong IR values — a form of type confusion (CWE-843). An attacker can craft or submit a Wasm module with a very large function body or many SSA values to trigger this overflow, leading to arbitrary miscompilation of the Wasm code. The fix, implemented in PR #12613, expands the ValueDataPacked layout from | tag:2 | type:14 | x:24 | y:24 | in a u64 to | tag:2 | type:14 | in a u16 with separate full u32 fields for x and y, supporting the complete Value (u32) index range with explicit bounds checks (GitHub Advisory, PR #12613).
Successful exploitation allows an attacker who can supply a crafted Wasm module to a Wasmtime engine to escape the WebAssembly sandbox and achieve arbitrary code execution on the host system. The impact spans full confidentiality, integrity, and availability compromise of the host process and potentially the underlying system, since the sandbox isolation guarantee — Wasmtime's primary security boundary — is completely broken. Any service or platform that accepts and executes untrusted Wasm modules using Wasmtime with default settings (Cranelift backend) on any architecture is at risk, including cloud functions, plugin systems, and server-side Wasm runtimes (GitHub Advisory).
There is no public proof-of-concept exploit and no confirmed in-the-wild exploitation as of the time of disclosure (Feedly). The EPSS score is 0.0, reflecting the current absence of observed exploitation activity. The vulnerability requires low privileges (an authenticated or low-privilege user able to submit Wasm modules) and no user interaction, with network-accessible attack vectors, making it attractive for future exploitation in multi-tenant Wasm hosting environments. It has not been added to the CISA KEV catalog at this time (GitHub Advisory).
ValueDataPacked index fields to overflow when compiled by Cranelift in release mode..wasm file to the target Wasmtime engine via whatever interface is exposed (API endpoint, file upload, RPC call, etc.)..wasm files submitted to the application, particularly those with function bodies containing an abnormally high number of local variables or SSA values.The primary remediation is to upgrade Wasmtime to version 36.0.19 (for users on the 36.x release branch) or 43.0.0 or later (recommended for all users), both of which contain the fix (GitHub Advisory, PR #14818). In Wasmtime v43+, Cranelift was updated to use a full u32 index with explicit overflow checks, permanently eliminating the vulnerable code path. As a temporary workaround if upgrading is not immediately possible, restrict the ability to load untrusted or externally-supplied Wasm modules into Wasmtime engines, and apply strict input validation on Wasm module size and complexity. There is no configuration option to disable the vulnerable Cranelift backend without replacing the entire compilation pipeline.
The advisory was published by Bytecode Alliance maintainer pchickey on October 19, 2026, with credit to reporter jaydns, and was included as part of a broader security release (36.0.19) that also addressed two other CVEs (GitHub Advisory). The vulnerability was picked up by security aggregators including The Hacker Wire, VulDB, and OSV, and generated discussion on Mastodon and Bluesky within hours of disclosure. The RUSTSEC advisory database (RUSTSEC-2026-0380) also tracked the issue, prompting dependency update PRs across several downstream Rust projects including risingwave, smoldot, and krustlet (PR #12613).
Fix availability across major Linux distributions and their releases.
Source: This report was generated using AI
Free Vulnerability Assessment
Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.
Get a personalized demo
"Best User Experience I have ever seen, provides full visibility to cloud workloads."
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
"We know that if Wiz identifies something as critical, it actually is."