GitHub Advisoryadvisory · crates.io

GHSA-75jp-vq8x-h4cq Wasmi Out-of-bounds Write for host to Wasm calls with more than 128 Parameters

HIGH Published 2024-03-07 Modified 2025-06-04 Official page ↗
Aliases
CVE-2024-28123
Ecosystem
crates.io
Packages
wasmi
Severity
High
CVSS vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L
Weaknesses
CWE-787
Reviewed
2024-03-07

Affected packages

• crates.io wasmi: >= 0.15.0, < 0.31.1 → fixed in 0.31.1

Description

Summary In the WASMI Interpreter, an Out-of-bounds Buffer Write will arise arise if the host calls or resumes a Wasm function with more parameters than the default limit (128), as it will surpass the stack value. This doesn’t affect calls from Wasm to Wasm, only from host to Wasm. Impact After conducting an analysis of the dependent Polkadot systems of `wasmi`: Pallet Contracts, Parity Signer, and Smoldot, we have found that none on those systems have been affected by the issue as they are calling host to Wasm function with a small limited amount of parameters always. Mitigations If you are using `wasmi` betwen version 0.15.0 and 0.31.0, please update it to the 0.31.1 patch release that we just published. Workarounds Ensure no more than 128 parameters can be pass in a call from the host to a Wasm function. References Patch PR: Special thanks Special thanks to Stellar Development Foundation for reporting this security vulnerability.

Related

Alias · CVE (1)

  • CVE-2024-28123 Wasmi is an efficient and lightweight WebAssembly interpreter with a focus on constrained and embedded systems. vulnerability

Weakness · CWE (1)

  • CWE-787 Out-of-bounds Write weakness

References