Miggo Logo

CVE-2024-32873: evmos allows transferring unvested tokens after delegations

3.5

CVSS Score
3.1

Basic Information

EPSS Score
0.32165%
Published
6/6/2024
Updated
8/12/2024
KEV Status
No
Technology
TechnologyGo

Technical Details

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:N/I:N/A:L
Package NameEcosystemVulnerable VersionsFirst Patched Version
github.com/evmos/evmos/v17go<= 17.0.118.0.0
github.com/evmos/evmos/v16go<= 16.0.418.0.0
github.com/evmos/evmos/v15go<= 15.0.018.0.0
github.com/evmos/evmos/v14go<= 14.1.018.0.0
github.com/evmos/evmos/v13go<= 13.0.218.0.0
github.com/evmos/evmos/v12go<= 12.1.618.0.0
github.com/evmos/evmos/v11go<= 11.0.218.0.0
github.com/evmos/evmos/v10go<= 10.0.118.0.0
github.com/evmos/evmos/v9go<= 9.1.018.0.0
github.com/evmos/evmos/v8go<= 8.2.318.0.0
github.com/evmos/evmos/v7go<= 7.0.018.0.0
github.com/evmos/evmos/v6go<= 6.0.418.0.0

Vulnerability Intelligence
Miggo AIMiggo AI

Miggo AIRoot Cause Analysis

The vulnerability stemmed from three key areas: 1) Flawed ante handler validation (VestingDelegationDecorator) that allowed improper delegation checks, 2) Missing validation in staking operations that enabled precompile bypass, and 3) Incorrect balance tracking in vesting accounts. The commit diff shows removal of the vulnerable Cosmos ante handler components and modification of the TrackDelegation logic. The patches moved validation to the MsgServer layer and fixed the vesting accounting logic, directly addressing these vulnerable functions.

Vulnerable functions

Only Mi**o us*rs **n s** t*is s**tion

WAF Protection Rules

WAF Rule

## Imp**t T*is **visory **s ***n *r**t** to ***r*ss t** *ollowin* vuln*r**iliti*s *oun* in t** *vmos *o****s* *n* *****tin* v*stin* ***ounts. ### Wron* sp*n***l* **l*n** *omput*tion T** sp*n***l* **l*n** is not up**t** prop*rly w**n **l***tin* v*s

Reasoning

T** vuln*r**ility st*mm** *rom t*r** k*y *r**s: *) *l*w** *nt* **n*l*r v*li**tion (V*stin***l***tion***or*tor) t**t *llow** improp*r **l***tion ****ks, *) Missin* v*li**tion in st*kin* op*r*tions t**t *n**l** pr**ompil* *yp*ss, *n* *) In*orr**t **l*n