HIGH 8.8 Go

Evmos vulnerable to exploit of smart contract account and vesting

GHSA-q6hg-6m9x-5g9c · CVE-2024-39696 · GO-2024-2974

Published · Modified

AI SAST

Find this class of vulnerability in your own code

Corgea's AI-native static analysis detects vulnerabilities like this one across your repositories, ranks them by exploitability, and returns review-ready fixes.

Description

Summary

This advisory board aims to describe two vulnerabilities found in the Evmos codebase:

  • Authorization check on the fundVestingAccount: unauthorized spend of funds.

Details

Authorization check on the fundVestingAccount

With the current implementation, a user can create a vesting account with a 3rd party account (EOA or contract) as funder. Then, this user can create an authorization for the contract.CallerAddress, this is the authorization checked in the code. But the funds are taken from the funder address provided in the message. Consequently, the user can fund a vesting account with a 3rd party account without its permission. The funder address can be any address, so this vulnerability can be used to drain all the accounts in the chain.

Severity

Based on ImmuneFi Severity Classification System the severity was evaluated to Critical since the attack could have lead to direct loss of funds.

Patches

The issue has been patched in versions >=V19.0.0

Ready to move

Start Securing

Free, no credit card | First findings in minutes