Skip to content
OpenAdvisories
Low · 3.8 CVE-2022-39394 EUVD-2024-0651GHSA-h84q-m8rr-3v9qRUSTSEC-2022-0097

wasmtime_trap_code C API function has out of bounds write vulnerability

Published Nov 10, 2022 · Updated Apr 23, 2025 · Assigned by GitHub_M

Description

Wasmtime is a standalone runtime for WebAssembly. Prior to version 2.0.2, there is a bug in Wasmtime's C API implementation where the definition of the `wasmtime_trap_code` does not match its declared signature in the `wasmtime/trap.h` header file. This discrepancy causes the function implementation to perform a 4-byte write into a 1-byte buffer provided by the caller. This can lead to three zero bytes being written beyond the 1-byte location provided by the caller. This bug has been patched and users should upgrade to Wasmtime 2.0.2. This bug can be worked around by providing a 4-byte buffer casted to a 1-byte buffer when calling `wasmtime_trap_code`. Users of the `wasmtime` crate are not affected by this issue, only users of the C API function `wasmtime_trap_code` are affected.

Affected products

VendorProductAffectedFixed
bytecodealliance wasmtime < 2.0.2 —

Fixed in Linux distributions

Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.

ReleasePackageFixed inAdvisory
Ubuntu 24.04 LTS thunderbird No fix yet —
Ubuntu 22.04 LTS mozjs78 +2 No fix yet —
Ubuntu 20.04 LTS mozjs52 +1 No fix yet —
Ubuntu 18.04 LTS mozjs38 +1 No fix yet —

Affected packages

EcosystemPackageAffectedFixedRecord
crates.io wasmtime >= 2.0.0, < 2.0.2 2.0.2 GHSA-h84q-m8rr-3v9q
crates.io wasmtime < 1.0.2 1.0.2 GHSA-h84q-m8rr-3v9q
crates.io wasmtime >= 0.0.0-0, < 1.0.2 · >= 2.0.0, < 2.0.2 1.0.2, 2.0.2 RUSTSEC-2022-0097

References