Evmos is a decentralized Ethereum Virtual Machine chain on the Cosmos Network. Prior to version 19.0.0, 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. The issue has been patched in version 19.0.0.
Evmos es una cadena descentralizada de máquinas virtuales Ethereum en Cosmos Network. Antes de la versión 19.0.0, un usuario puede crear una cuenta de adquisición de derechos con una cuenta de un tercero (EOA o contrato) como financiador. Luego, este usuario puede crear una autorización para el contrato.CallerAddress, esta es la autorización marcada en el código. Pero los fondos se toman de la dirección del financiador proporcionada en el mensaje. En consecuencia, el usuario puede depositar fondos en una cuenta de adquisición de derechos con una cuenta de terceros sin su permiso. La dirección del financiador puede ser cualquier dirección, por lo que esta vulnerabilidad se puede utilizar para vaciar todas las cuentas de la cadena. El problema se solucionó en la versión 19.0.0.