GitHub Advisoryadvisory · crates.io

GHSA-h84q-m8rr-3v9q wasmtime_trap_code C API function has out of bounds write vulnerability

LOW Published 2024-02-01 Modified 2025-05-02 Official page ↗
Aliases
CVE-2022-39394
Ecosystem
crates.io
Packages
wasmtime
Severity
Low
CVSS vector
CVSS:3.1/AV:L/AC:H/PR:H/UI:R/S:U/C:L/I:L/A:L
Weaknesses
CWE-787
Reviewed
2024-02-01

Affected packages

• crates.io wasmtime: >= 2.0.0, < 2.0.2 → fixed in 2.0.2 • crates.io wasmtime: < 1.0.2 → fixed in 1.0.2

Description

Impact 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. Patches This bug has been patched and users should upgrade to Wasmtime 2.0.2. Workarounds This 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. References • Definition of `wasmtime_trap_code` • Mailing list announcement • Patch to fix for `main` branch For more information If you have any questions or comments about this advisory: • Reach out to us on the Bytecode Alliance Zulip chat • Open an issue in the bytecodealliance/wasmtime repository

Related

Alias · CVE (1)

  • CVE-2022-39394 Wasmtime is a standalone runtime for WebAssembly. vulnerability

Weakness · CWE (1)

  • CWE-787 Out-of-bounds Write weakness

References