GHSA-75qh-gg76-p2w4 CWA-2023-004: Excessive number of function parameters in compiled Wasm
Attackers can cause denial of service and lock the VM by submitting crafted Wasm files with excessive parameters.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- Available
What is GHSA-75qh-gg76-p2w4?
GHSA-75qh-gg76-p2w4 is a denial of service vulnerability in github.com/CosmWasm/wasmvm, published on 27 Aug 2024. An attacker can exploit it over the internet without logging in, with no action from the victim.
Official description
A specifically crafted Wasm file can cause the VM to consume excessive amounts of memory when compiling a contract. This can lead to high memory usage, slowdowns, potentially a crash and can poison a lock in the VM, preventing any further interaction with contracts.
For more information, see CWA-2023-004.
Which versions are affected by GHSA-75qh-gg76-p2w4?
18 open source packages ship an affected version, including github.com/CosmWasm/wasmvm and cosmwasm-vm.
| Package | Affected | Fixed in |
|---|---|---|
github.com/CosmWasm/wasmvm Go | All versions | 1.2.5, 1.3.1, 1.4.2, 1.5.1 |
github.com/CosmWasm/wasmvm Go | All versions | 1.2.5 |
github.com/CosmWasm/wasmvm Go | All versions | 1.2.5 |
github.com/CosmWasm/wasmvm Go | From 1.3.0 | 1.3.1 |
github.com/CosmWasm/wasmvm Go | From 1.3.0 | 1.3.1 |
github.com/CosmWasm/wasmvm Go | From 1.4.0 | 1.4.2 |
12 more packages
github.com/CosmWasm/wasmvm Go | From 1.4.0 | 1.4.2 |
github.com/CosmWasm/wasmvm Go | From 1.5.0 | 1.5.1 |
github.com/CosmWasm/wasmvm Go | From 1.5.0 | 1.5.1 |
cosmwasm-vm crates.io | All versions | 1.2.8 |
cosmwasm-vm crates.io | All versions | 1.2.8 |
cosmwasm-vm crates.io | From 0.0.0-0 | 1.2.8, 1.3.4, 1.4.2, 1.5.1 |
cosmwasm-vm crates.io | From 1.3.0 | 1.3.4 |
cosmwasm-vm crates.io | From 1.3.0 | 1.3.4 |
cosmwasm-vm crates.io | From 1.4.0 | 1.4.2 |
cosmwasm-vm crates.io | From 1.4.0 | 1.4.2 |
cosmwasm-vm crates.io | From 1.5.0 | 1.5.1 |
cosmwasm-vm crates.io | From 1.5.0 | 1.5.1 |
How do I fix GHSA-75qh-gg76-p2w4?
Upgrade github.com/CosmWasm/wasmvm to a fixed version for your release line: 1.2.5, 1.3.1, 1.4.2 or 1.5.1.
Upgrade, then put limits on request size, rate and nesting depth so one client cannot exhaust the service. More about Denial of service.
Is GHSA-75qh-gg76-p2w4 being exploited?
There is no known exploitation of GHSA-75qh-gg76-p2w4 in the wild and no public exploit code.
Sources
Also known as GO-2024-3101, RUSTSEC-2024-0366.