Wasmtime Rust Crate Major Update to v43 Patches Critical Memory Safety Vulnerability CVE-2026-34941
A critical security vulnerability in the widely-used WebAssembly runtime, Wasmtime, has prompted a major version update to patch a memory safety flaw. The vulnerability, tracked as CVE-2026-34941, stems from an incorrect bounds check during string transcoding, which could allow a malicious WebAssembly module to trigger out-of-bounds memory reads. In its default configuration, this flaw causes the host to read beyond the allocated linear memory, potentially accessing unmapped memory on a guard page, a classic precursor to more severe exploitation.
The flaw is specific to the process of transcoding a UTF-16 string to the latin1+utf16 component-model encoding. The validation logic erroneously checked the number of code units instead of the actual byte length, which is twice the size. This miscalculation creates a window where the runtime attempts to read data that does not exist within the module's defined memory boundaries. The issue is addressed in the newly released Wasmtime version 43, a major jump from version 41, as indicated in the dependency update pull request.
This vulnerability underscores the persistent security challenges in WebAssembly runtimes, which are foundational to modern cloud-native and edge computing. While the default configuration limits immediate exploitation to a read on a guard page—typically causing a crash—the underlying memory corruption pattern is a significant risk. Developers and organizations relying on Wasmtime, particularly in multi-tenant or untrusted code execution environments, must prioritize this update to mitigate potential denial-of-service attacks or more sophisticated memory corruption exploits that could be built upon this primitive.