WAMR leaks uninitialized host stack memory via unvalidated ref.null heap type
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- None
- Attack complexity
- Low
- Attack requirements
- None
- Impact type
- Information disclosure
- Confidentiality · integrity · availability
- Low · None · None
- Fix status
- Fixed
Attack profile from CVSS 4.0 · CNA. Fix status from CNA. Impact type from CWE-457 and the CVSS impact.
Summary
WebAssembly Micro Runtime (WAMR) before 2.4.5 does not validate the heap-type byte of a ref.null instruction in load_init_expr when WASM_ENABLE_GC=0, so the classic and fast interpreters accept a non-reference heap type. A crafted module can declare an i64, f64, or v128 global initialized this way, which copies uninitialized host stack bytes into a value readable by the guest, CWE-457. An unauthenticated remote attacker can read this host memory by supplying a crafted WebAssembly module, and the disclosure is four bytes for i64 or f64 globals and up to twelve bytes for each v128 global.
Written with Claude Haiku 5.5 from the sources below · 2026-11-05
Description from the CNA
WebAssembly Micro Runtime (WAMR) is a lightweight standalone WebAssembly (Wasm) runtime. Prior to 2.4.5, load_init_expr in core/iwasm/interpreter/wasm_loader.c accepts a non-reference heap-type byte for ref.null when WASM_ENABLE_GC=0, while the local WASMValue cur_value union is not zero-initialized and setting ref_index writes only part of it. A crafted module can declare an i64, f64, or v128 global initialized through the invalid ref.null form, causing push_const_expr_stack and the later global initialization path to copy uninitialized host-stack bytes into a value readable by the guest. The classic and fast interpreters are affected in the default no-GC configuration; the GC-enabled path validates heap types. The disclosure is four bytes for i64 or f64 globals and up to twelve bytes for each v128 global. This issue is fixed in version 2.4.5.
Why it matters now
SSVC decision points
Not available: CISA has not published SSVC decision points for this record.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| bytecodealliance | wasm-micro-runtime | before 2.4.5 | 2.4.5 | Patch available | CNA |
- wasm-micro-runtime Vendorbytecodealliance Affected before 2.4.5 Fixed in 2.4.5 Patch available CNA
CPE names Threatist (inferred) · 1
Inferred from how NVD named this product before; not given by a source.
| CPE | Versions | Role | Vendor |
|---|---|---|---|
| cpe:2.3:a:bytecodealliance:webassembly_micro_runtime:*:*:*:*:*:*:*:* | — | — | bytecodealliance |
- cpe:2.3:a:bytecodealliance:webassembly_micro_runtime:*:*:*:*:*:*:*:* Versions — — ·bytecodealliance
Remediation
Update bytecodealliance wasm-micro-runtime to version 2.4.5, which fixes the issue. The sources list no fixed version for other releases.
Written with Claude Haiku 5.5 from the sources below · 2026-11-05
- Fix · CNA wasm-micro-runtime (bytecodealliance) Fixed in 2.4.5
Timeline
- 2026-11-05 Threatist record created from CVE-2026-54913
- 2026-11-07 Priority changed: MEDIUM → LOW
References
Other 4
- https://github.com/wasm-micro-runtime/wasm-micro-runtime/security/advisories/GHSA-frwm-5hpr-2hq2
- https://github.com/wasm-micro-runtime/wasm-micro-runtime/commit/c313279c548c6a93f55eb97455cab8696e39f6c1
- https://github.com/wasm-micro-runtime/wasm-micro-runtime/commit/e571797fbdf498d9ac4edb495205ea0f01370091
- https://github.com/wasm-micro-runtime/wasm-micro-runtime/releases/tag/WAMR-2.4.5
More bytecodealliance vulnerabilities
- TI-2026-85541 WAMR fast interpreter loader heap overflow via constant deduplication mismatch CVSS 4.0HIGH 8.8
- TI-2024-16741 An issue in bytecodealliance wasm-micro-runtime before v.b3f728c and fixed in commit… CVSS 3.1HIGH 8.8
- TI-2024-22658 An out-of-bound memory read vulnerability was discovered in Bytecode Alliance… CVSS 3.1HIGH 7.5
- TI-2024-18300 wasm-micro-runtime (aka WebAssembly Micro Runtime or WAMR) 06df58f is vulnerable to NULL… CVSS 3.1HIGH 7.5
- TI-2023-26034 An heap overflow vulnerability was discovered in Bytecode alliance wasm-micro-runtime… CVSS 3.1HIGH 7.5
- TI-2025-33969 WebAssembly Micro Runtime's `--addr-pool` option allows all IPv4 addresses when subnet mask is not specified CVSS 4.0MEDIUM 6.9
Sources
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences