wasmvm: Malicious smart contract can slow down block production
Package
Affected versions
= 2.2.0
>= 2.1.0, < 2.1.6
>= 2.0.0, < 2.0.9
< 1.5.10
Patched versions
2.2.1
2.1.6
2.0.9
1.5.10
< 0.0.0-20250204093451-1f4db20199b8
>= 0.1.0, <= 1.5.7
>= 1.5.8-0, < 1.5.8-0.20250204093451-1f4db20199b8
0.0.0-20250204093451-1f4db20199b8
1.5.8
1.5.8-0.20250204093451-1f4db20199b8
>= 2.2.0, < 2.2.2
>= 2.1.0, < 2.1.5
< 2.0.0-20250204103256-d62c3b826a9d
>= 2.0.0, <= 2.0.5
>= 2.0.6-0, < 2.0.6-0.20250204103256-d62c3b826a9d
2.2.2
2.1.5
2.0.0-20250204103256-d62c3b826a9d
2.0.6
2.0.6-0.20250204103256-d62c3b826a9d
Description
Published to the GitHub Advisory Database
Feb 4, 2025
Reviewed
Feb 4, 2025
Last updated
Jul 9, 2025
CWA-2025-002
Severity
Medium (Moderate + Likely)1
Affected versions:
Patched versions:
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:
go list -m github.com/CosmWasm/wasmvm
github.com/CosmWasm/wasmvm
dependency in your go.mod to one of the patched versiondepending on which minor version you are on;
go mod tidy
; commit.libwasmvm_muslc.aarch64.a
/libwasmvm_muslc.x86_64.a
, update them accordingly.go list -m github.com/CosmWasm/wasmvm
and ensure you see 1.5.8, 2.0.6, 2.1.5 or 2.2.2.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
References
Footnotes
following Amulet's Severity Classification Framework ACMv1.2: https://github.com/interchainio/security/blob/0295254e8645301ccb606d46108a45cede0a73e0/resources/CLASSIFICATION_MATRIX.md ↩