Heap Corruption Risk in Wasmtime: GC Values Live Across `try_call`

wasmtime Updated 03 Oct 2026

Summary

02/10/2026
N/A
Yes i
Medium
5.7

RUSTSEC-2026-0326: Rooting for GC values live across try_call may be missing, causing GC heap corruption. Affects wasmtime across 2 version ranges.

>= 47.0.0, < 48.0.4 >= 49.0.0, < 49.0.2

Fixed in 48.0.4 or 49.0.2, depending on the release line you run. How to fix ↓

Free scan

Check if this vulnerability affects your application

Upload a manifest or SBOM and we'll show whether you're affected, plus every other risky package in the same scan.

Check my app free

No signup required · Results in about 60 seconds

Upload your dependency manifest or SBOM

Drag & drop your file here or

Java Javascript PHP Python Go Rust Ruby Dart C/C++ Elixir CycloneDX SPDX

Upload a supported dependency manifest or SBOM. No installation or source-code access required.

See supported files and SBOM formats
SBOM sbom.json · bom.json · bom.xml · *.spdx.json · *.cdx.json · *.cdx.xml
Java pom.xml · gradle.lockfile · buildscript-gradle.lockfile
Javascript package-lock.json · yarn.lock · pnpm-lock.yaml
PHP composer.lock
Python poetry.lock · requirements.txt · Pipfile.lock
Go go.mod
Rust Cargo.lock
Ruby Gemfile.lock
Dart pubspec.lock
C/C++ conan.lock
Elixir mix.lock
Enter your work email to receive your report link.

Verify your email to view the full report and start 30 days of continuous monitoring. No credit card required.

Sponsored MarkAI Find prospects already talking about the problem you solve AI watches the communities your customers use to find qualified prospects, then alerts you when a conversation is worth joining. See MarkAI

Background

Wasmtime is a high-performance runtime for WebAssembly, enabling developers to run WebAssembly modules in various environments. It is designed to be fast, secure, and portable, making it a popular choice for executing WebAssembly code. However, a recent vulnerability has been identified that could lead to heap corruption due to improper handling of garbage collection (GC) values during the execution of try_call functions.

Vulnerability Detail

The vulnerability arises from the handling of GC values that may remain live across try_call invocations. This oversight can lead to heap corruption, potentially allowing an attacker to manipulate memory and execute arbitrary code. The issue is particularly concerning as it affects the stability and security of applications relying on Wasmtime for executing WebAssembly modules. The vulnerability is cataloged under the RustSec database and has been assigned the identifier RUSTSEC-2026-0326.

How To Fix

Latest published version: 50.0.0 as of 22 Oct 2026

Upgrading to it may include breaking changes; the versions below are the minimum fixed release for this vulnerability.

If you can't move to the latest

The minimum fixed version depends on the release line you run.

  • >= 47.0.0, < 48.0.4 48.0.4
  • >= 49.0.0, < 49.0.2 49.0.2

Tip — Not sure which release line you're on? Vulert can find the fix for the version you are using. Scan free →

Workaround

Currently, no specific workarounds have been provided for this vulnerability. It is advisable to apply the patch as soon as possible to mitigate the risk.

Conclusion

In summary, the vulnerability identified in Wasmtime poses a significant risk of heap corruption due to improper handling of GC values. It is crucial for users to update to the patched versions to ensure the security and stability of their applications. Utilizing tools like Vulert can help monitor for such vulnerabilities in real-time.

See every vulnerability recorded for wasmtime →

Share this vulnerability

FAQ

The CVSS score of this vulnerability is 5.7, indicating a moderate severity level.

You can use Vulert, which monitors and alerts for open-source vulnerabilities in your software. By using the Vulert playground at Vulert Scanner, you can check if your application is affected without needing to sign up.

Failure to address this vulnerability may lead to heap corruption, which can compromise application stability and security, potentially allowing attackers to execute arbitrary code.

Yes, versions 48.0.4 and 49.0.2 of Wasmtime have been patched to fix this vulnerability and are safe to use.

Wasmtime is used to run WebAssembly modules in various environments, providing a fast and secure way to execute WebAssembly code.

Related vulnerabilities

Recent vulnerabilities recorded for wasmtime.

How To Fix

Latest published version: 50.0.0 as of 22 Oct 2026

Upgrading to it may include breaking changes; the versions below are the minimum fixed release for this vulnerability.

If you can't move to the latest

The minimum fixed version depends on the release line you run.

  • >= 47.0.0, < 48.0.4 48.0.4
  • >= 49.0.0, < 49.0.2 49.0.2

Tip — Not sure which release line you're on? Vulert can find the fix for the version you are using. Scan free →

Subscribe to Vulert on Telegram
Daily digest of new CVEs, critical and high severity, affected packages and fixes — plus a weekly roundup.
Join the channel →
Help improve this record
Report an issue or send feedback