Heap Corruption Risk in Wasmtime: GC Values Live Across `try_call`
Summary
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 ↓
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.
No signup required · Results in about 60 seconds
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.448.0.4 -
>= 49.0.0, < 49.0.249.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 →
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.
References
Related vulnerabilities
Recent vulnerabilities recorded for wasmtime.