Loading...
Skip to main content

CVE-2024-37153 — Vulnerability in github.com/evmos/evmos/v10 — CVE...

HIGH

Contract balance not updating correctly after interchain transaction

Published June 6, 2024Updated September 10, 2026Source: osv

Summary

### Summary _Short summary of the problem. Make the impact and severity as clear as possible. For example: An unsafe deserialization vulnerability allows any unauthenticated user to execute arbitrary code on the server._ ### Details We discovered a bug walking through 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 ### Proof of Concept ```solidity // This function does not reduce the contract balance correctly but liquid stakes correctly function transfer( string memory sourcePort, string memory sourceChannel, string memory denom, uint256 amount, string memory receiver, string memory evmosReceiver ) external returns (uint64 nextSequence) { counter += 1; # Only happens when there is a local state update together with an ICS20 Transfer Height memory timeoutHeight = Height(100, 100); string memory memo = buildLiquidStakeMemo(receiver, evmosReceiver); return ICS20_CONTRACT.transfer( sourcePort, sourceChannel, denom, amount, address(this), # this is the sender address which is the contract receiver, timeoutHeight, 0, memo ); } ``` ### Impact This is in essence the "infinite money glitch" allowing contracts to double the supply of Evmos after each transaction. ### Severity Based on [ImmuneFi Severity Classification System](https://immunefisupport.zendesk.com/hc/en-us/articles/13332717597585-Severity-Classification-System) the severity was evaluated to `Critical` since the attack could have lead to create new supply of EVMOS and therefore lead to Direct loss of funds's value. ### Patches The issue has been patched in versions >=V18.1.0. ## For more information If you have any questions or comments about this advisory: Reach out to the Core Team in [Discord](https://discord.gg/evmos) Open a discussion in [evmos/evmos](https://github.com/evmos/evmos/discussions) Email us at [security@evmos.org](mailto:security@evmos.org) for security questions

Advisory Timeline

  • First published June 6, 2024 (858 days ago).
  • Last revised September 10, 2026 — 825 days after initial publication.

Remediation

Upgrade to the fixed version using your package manager.

Go
Update github.com/evmos/evmos/v10 to 18.1.0 or later
go get github.com/evmos/evmos/v10@v18.1.0
Go
Update github.com/evmos/evmos/v18 to 18.1.0 or later
go get github.com/evmos/evmos/v18@v18.1.0
Go
Update github.com/evmos/evmos/v9 to 18.1.0 or later
go get github.com/evmos/evmos/v9@v18.1.0
Go
Update github.com/evmos/evmos/v14 to 18.1.0 or later
go get github.com/evmos/evmos/v14@v18.1.0
Go
Update github.com/evmos/evmos/v11 to 18.1.0 or later
go get github.com/evmos/evmos/v11@v18.1.0
Go
Update github.com/evmos/evmos/v6 to 18.1.0 or later
go get github.com/evmos/evmos/v6@v18.1.0
Go
Update github.com/evmos/evmos/v13 to 18.1.0 or later
go get github.com/evmos/evmos/v13@v18.1.0
Go
Update github.com/evmos/evmos/v12 to 18.1.0 or later
go get github.com/evmos/evmos/v12@v18.1.0
Go
Update github.com/evmos/evmos/v7 to 18.1.0 or later
go get github.com/evmos/evmos/v7@v18.1.0
Go
Update github.com/evmos/evmos/v17 to 18.1.0 or later
go get github.com/evmos/evmos/v17@v18.1.0
Go
Update github.com/evmos/evmos/v15 to 18.1.0 or later
go get github.com/evmos/evmos/v15@v18.1.0
Go
Update github.com/evmos/evmos/v8 to 18.1.0 or later
go get github.com/evmos/evmos/v8@v18.1.0
Go
Update github.com/evmos/evmos/v16 to 18.1.0 or later
go get github.com/evmos/evmos/v16@v18.1.0

After upgrading, run your dependency scanner again to confirm the vulnerability is resolved.

Affected Packages (13)

Affects 1 ecosystem: go (13).

PackageEcosystemAffectedFixed In
github.com/evmos/evmos/v10
go
All versions18.1.0
github.com/evmos/evmos/v18
go
All versions18.1.0
github.com/evmos/evmos/v9
go
All versions18.1.0
github.com/evmos/evmos/v14
go
All versions18.1.0
github.com/evmos/evmos/v11
go
All versions18.1.0
github.com/evmos/evmos/v6
go
All versions18.1.0
github.com/evmos/evmos/v13
go
All versions18.1.0
github.com/evmos/evmos/v12
go
All versions18.1.0
github.com/evmos/evmos/v7
go
All versions18.1.0
github.com/evmos/evmos/v17
go
All versions18.1.0
github.com/evmos/evmos/v15
go
All versions18.1.0
github.com/evmos/evmos/v8
go
All versions18.1.0
github.com/evmos/evmos/v16
go
All versions18.1.0

Vulnerability Classification

Common Weakness Enumeration (CWE) identifiers for this vulnerability type.

CVSS Score Breakdown

What the CVSS (Common Vulnerability Scoring System) 7.5 score means for each attack dimension.

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
High
Availability
None

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N

Frequently Asked Questions

What is CVE-2024-37153?
Contract balance not updating correctly after interchain transaction This vulnerability has been assigned a severity rating of HIGH (CVSS score: 7.5/10).
How do I check if my project is affected by CVE-2024-37153?
CVE-2024-37153 affects github.com/evmos/evmos/v10, github.com/evmos/evmos/v18 and github.com/evmos/evmos/v9 (and 10 more). Use GeekWala's free vulnerability scanner to check your dependencies against CVE-2024-37153 and 200,000+ other known vulnerabilities.

Severity & Exploitability

CVSS Score
7.5

High exploitability or significant impact. Prioritize remediation within days.

Also Known As

GHSA-xgr7-jgq3-mhmc
GO-2024-2903

Related CVEs

  • CVE-2024-32644
    CRITICAL

    Evmos transaction execution not accounting for all state transition after interaction with precompiles

  • CVE-2026-107809
    HIGH

    Nginx-UI AuthRequired token cookie fallback enables CSRF against management APIs

  • CVE-2026-107813
    HIGH

    Nginx UI: Incomplete fix of CVE-2026-84315 - the api/cluster router was not - wrapped in RequireSecureSession, so those sensitive mutations run without OTP step-up

Check if you're affected

Scan your dependencies to see if this vulnerability affects your projects.

Scan Your Dependencies