A recent vulnerability affecting the Cosmos ecosystem and Ethermint was recently discovered by crypto trading firm Jump Crypto and blocked before it could cause an impact of as much as ‘eight figure’ U.S. dollars, Cosmos developers told CoinDesk.
The compromised network in this incident was Ethermint, which enables the use of Ethereum smart contracts within the Cosmo ecosystem, and is employed by several chains, including Cronos, Kava, and Canto.
The bug could have potentially allowed an attacker to bypass specific smart contract functions called handlers, leading to transaction fee theft and denial of service to users.
Immediately upon receiving the report, the Evmos Core Development team and the Cronos team collaborated with Jump Crypto to address the issue. The implementation included a patch to block transactions with ‘MsgEthereumTx’ messages, allowing to the elimination of the attack vector.
No malicious exploitation occurred, ensuring the continued stability and reliability of the affected chains.
The Cronos team awarded Jump Crypto a $25,000 bounty for discovering and disclosing the vulnerability.
Evmos said that the root cause of the vulnerability lay in the improper handling of transactional messages in the Ethermint implementation, specifically the interaction between the MsgEthereumTx message and the MsgExec message.
The MsgExec message is used in the Cosmos SDK to allow authorized message execution by allowing one account to grant authorization to another account. However, this feature was not properly secured, allowing the attacker to bypass the ‘EthGasConsumeDecorator,’ which is responsible for deducting gas fees from transactions.
The attacker exploited the vulnerability by embedding a MsgEthereumTx message inside a MsgExec message. This bypassed the EthGasConsumeDecorator, resulting in the attacker not paying gas fees for their transactions.