Skip to content

GHSA-mx2j-7cmv-353c GO-2025-3449

wasmvm: Malicious smart contract can slow down block production

Medium Gocrates.io
Severity
Medium
The publisher's own rating, not a CVSS score
Exploit chance (EPSS)
—
No score published
Known exploited
No
Not in CISA's catalog
Weakness
—
Not classified
Fix
Available
3 packages have a fixed version

Description

CWA-2025-002

Severity

Medium (Moderate + Likely)[^1]

Affected versions:

  • wasmvm >= 2.2.0, < 2.2.2
  • wasmvm >= 2.1.0, < 2.1.5
  • wasmvm >= 2.0.0, < 2.0.6
  • wasmvm < 1.5.8

Patched versions:

  • wasmvm 1.5.8, 2.0.6, 2.1.5, 2.2.2

Description of the bug

The vulnerability can be used to slow down block production. The attack requires a malicious contract, so permissioned chains are unlikely to be affected.

(We'll add more detail once chains had a chance to upgrade.)

Patch

Applying the patch

The patch will be shipped in releases of wasmvm. You can update more or less as follows:

  1. Check the current wasmvm version: go list -m github.com/CosmWasm/wasmvm
  2. Bump the github.com/CosmWasm/wasmvm dependency in your go.mod to one of the patched version depending on which minor version you are on; go mod tidy; commit.
  3. If you use the static libraries libwasmvm_muslc.aarch64.a/libwasmvm_muslc.x86_64.a, update them accordingly.
  4. Check the updated wasmvm version: go list -m github.com/CosmWasm/wasmvm and ensure you see 1.5.8, 2.0.6, 2.1.5 or 2.2.2.
  5. Follow your regular practices to deploy chain upgrades.

The patch is consensus breaking and requires a coordinated upgrade.

Acknowledgement

This issue was found by meadow101 who reported it to the Cosmos Bug Bounty Program on HackerOne.

If you believe you have found a bug in the Interchain Stack or would like to contribute to the program by reporting a bug, please see https://hackerone.com/cosmos.

Timeline

  • 2024-11-24: Confio receives a report through the Cosmos bug bounty program maintained by Amulet.
  • 2024-12-20: Confio security contributors confirm the report.
  • 2024-01-27: Confio developed the patch internally.
  • 2025-02-04: Patch gets released.

[^1]: following Amulet's Severity Classification Framework ACMv1.2: https://github.com/interchainio/security/blob/0295254e8645301ccb606d46108a45cede0a73e0/resources/CLASSIFICATION_MATRIX.md

Affected versions

Go

PackageVulnerableFixed in
github.com/CosmWasm/wasmvm
>= 0.1.0, < 1.5.8
1.5.8
github.com/CosmWasm/wasmvm
< 0.0.0-20250204093451-1f4db20199b8
0.0.0-20250204093451-1f4db20199b8
github.com/CosmWasm/wasmvm
>= 1.5.8-0, < 1.5.8-0.20250204093451-1f4db20199b8
1.5.8-0.20250204093451-1f4db20199b8
github.com/CosmWasm/wasmvm
< 1.5.8
1.5.8
github.com/CosmWasm/wasmvm/v2
>= 2.2.0, < 2.2.2
2.2.2
github.com/CosmWasm/wasmvm/v2
>= 2.1.0, < 2.1.5
2.1.5
github.com/CosmWasm/wasmvm/v2
>= 2.0.0, < 2.0.6
2.0.6
github.com/CosmWasm/wasmvm/v2
< 2.0.0-20250204103256-d62c3b826a9d
2.0.0-20250204103256-d62c3b826a9d
github.com/CosmWasm/wasmvm/v2
>= 2.0.6-0, < 2.0.6-0.20250204103256-d62c3b826a9d
2.0.6-0.20250204103256-d62c3b826a9d
github.com/CosmWasm/wasmvm/v2
>= 2.0.0, < 2.0.6
>= 2.1.0, < 2.1.5
>= 2.2.0, < 2.2.2
2.0.6
2.1.5
2.2.2

crates.io

PackageVulnerableFixed in
cosmwasm-vm
>= 2.2.0, < 2.2.1
2.2.1
cosmwasm-vm
>= 2.1.0, < 2.1.6
2.1.6
cosmwasm-vm
>= 2.0.0, < 2.0.9
2.0.9
cosmwasm-vm
< 1.5.10
1.5.10

How to fix

Move to the fixed version or later with your package manager, update the lockfile, and run your tests. If the package only arrives through another dependency, upgrade that dependency first. If none of its releases pulls a fixed version yet, force the version with your package manager's override.

github.com/CosmWasm/wasmvm Go → 1.5.8

go
go get github.com/CosmWasm/wasmvm@v1.5.8 && go mod tidy

github.com/CosmWasm/wasmvm/v2 Go → 2.2.2

go
go get github.com/CosmWasm/wasmvm/v2@v2.2.2 && go mod tidy

cosmwasm-vm crates.io → 2.2.1

cargo
cargo update -p cosmwasm-vm --precise 2.2.1

References

Timeline

  1. Published
  2. Last updated by the source
AdvisorySeverityWhy it's related
GHSA-2q97-m5rc-p3gp
CosmWasm VM Incorrect metering
Medium Also affects cosmwasm-vm
GHSA-vmqh-5232-v43r
Panic in wasmvm can slow down block production
Medium Also affects cosmwasm-vm
GHSA-75qh-gg76-p2w4
CWA-2023-004: Excessive number of function parameters in compiled Wasm
Medium Also affects cosmwasm-vm
GHSA-rg2q-2jh9-447q
Gas mispricing in cosmwasm-vm
Medium Also affects cosmwasm-vm
Is this in your code?

MergeHarbor checks every repository's dependencies against this database, ranks what matters by exploitability and reachability, routes it to the owning team and opens the fix pull request.

Check your repos with MergeHarbor