Skip to content

Evmos vulnerable to exploit of smart contract account and vesting

High severity GitHub Reviewed Published Jul 5, 2024 in evmos/evmos • Updated Jul 10, 2024

Package

github.com/evmos/evmos/v18 (Go)

Affected versions

<= 18.0.1

Patched versions

19.0.0

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

References

@hanchon hanchon published to evmos/evmos Jul 5, 2024
Published by the National Vulnerability Database Jul 5, 2024
Published to the GitHub Advisory Database Jul 10, 2024
Reviewed Jul 10, 2024
Last updated Jul 10, 2024

Severity

High
8.8
/ 10

CVSS base metrics

Attack vector
Network
Attack complexity
Low
Privileges required
Low
User interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

Weaknesses

CVE ID

CVE-2024-39696

GHSA ID

GHSA-q6hg-6m9x-5g9c

Source code

Credits

Loading Checking history
See something to contribute? Suggest improvements for this vulnerability.