{"id":"GHSA-mx2j-7cmv-353c","summary":"wasmvm: Malicious smart contract can slow down block production","details":"# CWA-2025-002\n\n**Severity**\n\nMedium (Moderate + Likely)[^1]\n\n**Affected versions:**\n\n- wasmvm \u003e= 2.2.0, \u003c 2.2.2\n- wasmvm \u003e= 2.1.0, \u003c 2.1.5\n- wasmvm \u003e= 2.0.0, \u003c 2.0.6\n- wasmvm \u003c 1.5.8\n\n**Patched versions:**\n\n- wasmvm 1.5.8, 2.0.6, 2.1.5, 2.2.2\n\n## Description of the bug\n\nThe vulnerability can be used to slow down block production. The attack requires a malicious contract,\nso permissioned chains are unlikely to be affected.\n\n(We'll add more detail once chains had a chance to upgrade.)\n\n## Patch\n\n- 1.5: https://github.com/CosmWasm/cosmwasm/commit/2b7f2faa57a1efc8207455c37f87f1eee6035a27\n- 2.0: https://github.com/CosmWasm/cosmwasm/commit/d6143b0aff16a39bbea4be37597d8e9d9b213d3b\n- 2.1: https://github.com/CosmWasm/cosmwasm/commit/f0c04c03cbe2557634c1bbcdc2ce203fe7caca58\n- 2.2: https://github.com/CosmWasm/cosmwasm/commit/a5d62f65b5eb947ebe40e2085b1c48a9d0a244d0\n\n## Applying the patch\n\nThe patch will be shipped in releases of wasmvm. You can update more or less as follows:\n\n1. Check the current wasmvm version: `go list -m github.com/CosmWasm/wasmvm`\n2. Bump the `github.com/CosmWasm/wasmvm` dependency in your go.mod to one of the patched version\n   depending on which minor version you are on; `go mod tidy`; commit.\n3. If you use the static libraries `libwasmvm_muslc.aarch64.a`/`libwasmvm_muslc.x86_64.a`, update them accordingly.\n4. 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.\n5. Follow your regular practices to deploy chain upgrades.\n\nThe patch is consensus breaking and requires a coordinated upgrade.\n\n## Acknowledgement\n\nThis issue was found by meadow101 who reported it to the Cosmos Bug Bounty Program on HackerOne.\n\nIf you believe you have found a bug in the Interchain Stack or would like to contribute to the\nprogram by reporting a bug, please see \u003chttps://hackerone.com/cosmos\u003e.\n\n## Timeline\n\n- 2024-11-24: Confio receives a report through the Cosmos bug bounty program maintained by Amulet.\n- 2024-12-20: Confio security contributors confirm the report.\n- 2024-01-27: Confio developed the patch internally.\n- 2025-02-04: Patch gets released.\n\n[^1]: following Amulet's Severity Classification Framework ACMv1.2: https://github.com/interchainio/security/blob/0295254e8645301ccb606d46108a45cede0a73e0/resources/CLASSIFICATION_MATRIX.md","aliases":["GO-2025-3449"],"modified":"2025-07-09T16:06:08Z","published":"2025-02-04T18:57:21Z","database_specific":{"github_reviewed":true,"github_reviewed_at":"2025-02-04T18:57:21Z","nvd_published_at":null,"cwe_ids":[],"severity":"MODERATE"},"references":[{"type":"WEB","url":"https://github.com/CosmWasm/wasmvm/security/advisories/GHSA-mx2j-7cmv-353c"},{"type":"WEB","url":"https://github.com/CosmWasm/cosmwasm/commit/2b7f2faa57a1efc8207455c37f87f1eee6035a27"},{"type":"WEB","url":"https://github.com/CosmWasm/cosmwasm/commit/a5d62f65b5eb947ebe40e2085b1c48a9d0a244d0"},{"type":"WEB","url":"https://github.com/CosmWasm/cosmwasm/commit/d6143b0aff16a39bbea4be37597d8e9d9b213d3b"},{"type":"WEB","url":"https://github.com/CosmWasm/cosmwasm/commit/f0c04c03cbe2557634c1bbcdc2ce203fe7caca58"},{"type":"WEB","url":"https://github.com/CosmWasm/advisories/blob/main/CWAs/CWA-2025-002.md"},{"type":"PACKAGE","url":"https://github.com/CosmWasm/wasmvm"},{"type":"WEB","url":"https://pkg.go.dev/vuln/GO-2025-3449"}],"affected":[{"package":{"name":"cosmwasm-vm","ecosystem":"crates.io","purl":"pkg:cargo/cosmwasm-vm"},"ranges":[{"type":"SEMVER","events":[{"introduced":"2.2.0"},{"fixed":"2.2.1"}]}],"versions":["2.2.0"],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2025/02/GHSA-mx2j-7cmv-353c/GHSA-mx2j-7cmv-353c.json"}},{"package":{"name":"cosmwasm-vm","ecosystem":"crates.io","purl":"pkg:cargo/cosmwasm-vm"},"ranges":[{"type":"SEMVER","events":[{"introduced":"2.1.0"},{"fixed":"2.1.6"}]}],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2025/02/GHSA-mx2j-7cmv-353c/GHSA-mx2j-7cmv-353c.json"}},{"package":{"name":"cosmwasm-vm","ecosystem":"crates.io","purl":"pkg:cargo/cosmwasm-vm"},"ranges":[{"type":"SEMVER","events":[{"introduced":"2.0.0"},{"fixed":"2.0.9"}]}],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2025/02/GHSA-mx2j-7cmv-353c/GHSA-mx2j-7cmv-353c.json"}},{"package":{"name":"cosmwasm-vm","ecosystem":"crates.io","purl":"pkg:cargo/cosmwasm-vm"},"ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"fixed":"1.5.10"}]}],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2025/02/GHSA-mx2j-7cmv-353c/GHSA-mx2j-7cmv-353c.json"}},{"package":{"name":"github.com/CosmWasm/wasmvm","ecosystem":"Go","purl":"pkg:golang/github.com/CosmWasm/wasmvm"},"ranges":[{"type":"SEMVER","events":[{"introduced":"0.1.0"},{"fixed":"1.5.8"}]}],"database_specific":{"last_known_affected_version_range":"\u003c= 1.5.7","source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2025/02/GHSA-mx2j-7cmv-353c/GHSA-mx2j-7cmv-353c.json"}},{"package":{"name":"github.com/CosmWasm/wasmvm/v2","ecosystem":"Go","purl":"pkg:golang/github.com/CosmWasm/wasmvm/v2"},"ranges":[{"type":"SEMVER","events":[{"introduced":"2.2.0"},{"fixed":"2.2.2"}]}],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2025/02/GHSA-mx2j-7cmv-353c/GHSA-mx2j-7cmv-353c.json"}},{"package":{"name":"github.com/CosmWasm/wasmvm/v2","ecosystem":"Go","purl":"pkg:golang/github.com/CosmWasm/wasmvm/v2"},"ranges":[{"type":"SEMVER","events":[{"introduced":"2.1.0"},{"fixed":"2.1.5"}]}],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2025/02/GHSA-mx2j-7cmv-353c/GHSA-mx2j-7cmv-353c.json"}},{"package":{"name":"github.com/CosmWasm/wasmvm/v2","ecosystem":"Go","purl":"pkg:golang/github.com/CosmWasm/wasmvm/v2"},"ranges":[{"type":"SEMVER","events":[{"introduced":"2.0.0"},{"fixed":"2.0.6"}]}],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2025/02/GHSA-mx2j-7cmv-353c/GHSA-mx2j-7cmv-353c.json","last_known_affected_version_range":"\u003c= 2.0.5"}},{"package":{"name":"github.com/CosmWasm/wasmvm","ecosystem":"Go","purl":"pkg:golang/github.com/CosmWasm/wasmvm"},"ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"fixed":"0.0.0-20250204093451-1f4db20199b8"}]}],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2025/02/GHSA-mx2j-7cmv-353c/GHSA-mx2j-7cmv-353c.json"}},{"package":{"name":"github.com/CosmWasm/wasmvm/v2","ecosystem":"Go","purl":"pkg:golang/github.com/CosmWasm/wasmvm/v2"},"ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"fixed":"2.0.0-20250204103256-d62c3b826a9d"}]}],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2025/02/GHSA-mx2j-7cmv-353c/GHSA-mx2j-7cmv-353c.json"}},{"package":{"name":"github.com/CosmWasm/wasmvm","ecosystem":"Go","purl":"pkg:golang/github.com/CosmWasm/wasmvm"},"ranges":[{"type":"SEMVER","events":[{"introduced":"1.5.8-0"},{"fixed":"1.5.8-0.20250204093451-1f4db20199b8"}]}],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2025/02/GHSA-mx2j-7cmv-353c/GHSA-mx2j-7cmv-353c.json"}},{"package":{"name":"github.com/CosmWasm/wasmvm/v2","ecosystem":"Go","purl":"pkg:golang/github.com/CosmWasm/wasmvm/v2"},"ranges":[{"type":"SEMVER","events":[{"introduced":"2.0.6-0"},{"fixed":"2.0.6-0.20250204103256-d62c3b826a9d"}]}],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2025/02/GHSA-mx2j-7cmv-353c/GHSA-mx2j-7cmv-353c.json"}}],"schema_version":"1.9.0"}