CVE-2024-37153 json
Evmos's contract balance not updating correctly after interchain transaction
published 2024-06-06 2 y ago modified 2026-09-10 1 mo ago also EUVD-2024-2214 , GHSA-xgr7-jgq3-mhmc , GO-2024-2903
- cvss
- 7.5
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.6%
- EPSS 0.6% chance of exploitation in 30 days, percentile 49%
- public exploits
- 0
- none known
Summary
Evmos is the Ethereum Virtual Machine (EVM) Hub on the Cosmos Network. There is an issue with how to liquid stake using Safe which itself is a contract. The bug only appears when there is a local state change together with an ICS20 transfer in the same function and uses the contract's balance, that is using the contract address as the sender parameter in an ICS20 transfer using the ICS20 precompile. This is in essence the "infinite money glitch" allowing contracts to double the supply of Evmos after each transaction.The issue has been patched in versions >=V18.1.0.
Patch / fix
- go github.com/evmos/evmos/v18 18.1.0
- go github.com/evmos/evmos/v17 18.1.0
- go github.com/evmos/evmos/v16 18.1.0
- go github.com/evmos/evmos/v15 18.1.0
- go github.com/evmos/evmos/v14 18.1.0
- go github.com/evmos/evmos/v13 18.1.0
- go github.com/evmos/evmos/v12 18.1.0
- go github.com/evmos/evmos/v11 18.1.0
- go github.com/evmos/evmos/v10 18.1.0
- go github.com/evmos/evmos/v9 18.1.0
- go github.com/evmos/evmos/v8 18.1.0
- go github.com/evmos/evmos/v7 18.1.0
- go github.com/evmos/evmos/v6 18.1.0
- evmos evmos 18.0.1
CISA SSVC
- Exploitation
- Proof of concept is public
- Automatable
- yes
- Technical impact
- partial
- Assessed
- 2 y ago
Exploit prediction
0.62% chance of exploitation in the next 30 days, higher than 49% of all scored CVEs (FIRST EPSS, 2026-11-08).
Exploits and checks
- github.com https://github.com/evmos/evmos/security/advisories/GHSA-xgr7-jgq3-mhmc referenced PoC, tagged "exploit" by a source, unverified
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 7.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N |
| GitHub | 3.1 | 7.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N |
| NVD | 3.1 | 7.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| go | github.com/evmos/evmos/v18 | <18.1.0 |
18.1.0 |
| go | github.com/evmos/evmos/v17 | <18.1.0 all versions |
18.1.0 |
| go | github.com/evmos/evmos/v16 | <18.1.0 all versions |
18.1.0 |
| go | github.com/evmos/evmos/v15 | <18.1.0 all versions |
18.1.0 |
| go | github.com/evmos/evmos/v14 | <18.1.0 all versions |
18.1.0 |
| go | github.com/evmos/evmos/v13 | <18.1.0 all versions |
18.1.0 |
| go | github.com/evmos/evmos/v12 | <18.1.0 all versions |
18.1.0 |
| go | github.com/evmos/evmos/v11 | <18.1.0 all versions |
18.1.0 |
| go | github.com/evmos/evmos/v10 | <18.1.0 all versions |
18.1.0 |
| go | github.com/evmos/evmos/v9 | <18.1.0 all versions |
18.1.0 |
| go | github.com/evmos/evmos/v8 | <18.1.0 all versions |
18.1.0 |
| go | github.com/evmos/evmos/v7 | <18.1.0 all versions |
18.1.0 |
| go | github.com/evmos/evmos/v6 | <18.1.0 all versions |
18.1.0 |
| go | github.com/evmos/evmos | all versions |
no fix listed |
| go | github.com/evmos/evmos/v2 | all versions |
no fix listed |
| go | github.com/evmos/evmos/v3 | all versions |
no fix listed |
| go | github.com/evmos/evmos/v4 | all versions |
no fix listed |
| go | github.com/evmos/evmos/v5 | all versions |
no fix listed |
Affected products
- evmos evmos
Classification
- Weakness
-
- CWE-670 Always-Incorrect Control Flow Implementation
References
-
github.com
/evmos/evmos/commit/478b7a62e7af57a70cf3a01126c7f5a89bee69d7
web, patch
-
github.com
/evmos/evmos/security/advisories/GHSA-xgr7-jgq3-mhmc
web, exploit, vendor-advisory, advisory
-
nvd.nist.gov
/vuln/detail/CVE-2024-37153
advisory
-
github.com
/evmos/evmos
package
-
pkg.go.dev
/vuln/GO-2024-2903
web
Sources
- CVE List CVE-2024-37153
- GitHub Advisory GHSA-xgr7-jgq3-mhmc
- NVD CVE-2024-37153
- OSV GO-2024-2903
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.
CPEs and fixed versions use Anchore's correction of NVD's data: Added CPE configurations because not yet analyzed by NVD.