GHSA-q6hg-6m9x-5g9c

Suggest an improvement
Source
https://github.com/advisories/GHSA-q6hg-6m9x-5g9c
Import Source
https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2024/07/GHSA-q6hg-6m9x-5g9c/GHSA-q6hg-6m9x-5g9c.json
JSON Data
https://api.test.osv.dev/v1/vulns/GHSA-q6hg-6m9x-5g9c
Aliases
Related
Published
2024-07-10T14:19:51Z
Modified
2024-07-10T14:19:51Z
Severity
  • 8.8 (High) CVSS_V3 - CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H CVSS Calculator
  • 8.7 (High) CVSS_V4 - CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N CVSS Calculator
Summary
Evmos vulnerable to exploit of smart contract account and vesting
Details

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

Database specific
{
    "nvd_published_at": "2024-07-05T19:15:10Z",
    "cwe_ids": [
        "CWE-863"
    ],
    "severity": "HIGH",
    "github_reviewed": true,
    "github_reviewed_at": "2024-07-10T14:19:51Z"
}
References

Affected packages

Go / github.com/evmos/evmos/v18

Package

Name
github.com/evmos/evmos/v18
View open source insights on deps.dev
Purl
pkg:golang/github.com/evmos/evmos/v18

Affected ranges

Type
SEMVER
Events
Introduced
0Unknown introduced version / All previous versions are affected
Fixed
19.0.0

Database specific

{
    "last_known_affected_version_range": "<= 18.0.1"
}