ETHW confirma la vulnerabilidad de los contratos y rechaza las afirmaciones de ataques de repetición

La bifurcación proof-of-work de la red Ethereum fue el objetivo de un exploit cross-chain de contratos.

ETHW, la cadena proof-of-work (PoW) que surgió tras el Merge de Ethereum, se ha movido para acallar las afirmaciones de que había sufrido un ataque de repetición on-chain durante el fin de semana.

La empresa de auditoría de contratos inteligentes BlockSec señaló lo que describió como un ataque de repetición que tuvo lugar el 16 de septiembre, en el que los atacantes cosecharon tokens ETHW reproduciendo los datos de llamada de la cadena proof-of-stake (PoS) de Ethereum en la cadena bifurcada PoW.

Según BlockSec, la causa raíz del exploit se debía a que el puente cross-chain Omni en la cadena ETHW utilizaba chainID viejos y no verificaba correctamente el ID correcto del mensaje cross-chain.

La Mainnet de Ethereum y las redes de prueba utilizan dos identificadores para usos diferentes, a saber, un ID de red y un ID de cadena (chainID). Los mensajes entre nodos utilizan el ID de red, mientras que las firmas de transacciones utilizan el chainID. La EIP-155 introdujo el chainID como medio para evitar ataques de repetición entre las cadenas de bloques ETH y Ethereum Classic (ETC).

BlockSec fue el primer servicio de análisis que identificó el ataque de repetición y lo notificó al equipo de ETHW, que a su vez rechazó rápidamente las afirmaciones iniciales de que se había llevado a cabo un ataque de repetición on-chain. ETHW intentó notificar a Omni del ataque a nivel de contrato:

El análisis del ataque reveló que el atacante comenzó transfiriendo 200 WETH a través del puente Omni de la cadena Gnosis antes de reproducir el mismo mensaje en la cadena PoW, obteniendo 200ETHW adicionales. Esto hizo que se agotara el saldo del contrato desplegado en la cadena PoW.

El análisis de BlockSec del código fuente de Omni mostró que la lógica para verificar el chainID estaba presente, pero el chainID verificado utilizado en el contrato se extraía de un valor almacenado en el depósito denominado «unitStorage».

El equipo explicó que este no era el chainID correcto recogido a través del opcode CHAINID, que fue planteado en la EIP-1344 y agravado por la bifurcación resultante tras el Merge de Ethereum:

«Esto se debe probablemente al hecho de que el código es bastante antiguo (usando Solidity 0.4.24). El código funciona bien todo el tiempo hasta el fork de la cadena PoW».

Esto permitía a los atacantes conseguir ETHW y potencialmente otros tokens propiedad del puente en la cadena PoW y pasar a comerciar con ellos en los mercados que cotizan los tokens correspondientes.

Cointelegraph se puso en contacto con BlockSec para averiguar el valor extraído. Yajin Zhou, CEO de BlockSec, dijo que su equipo no había realizado un cálculo preciso, pero destacó un límite en las transferencias de wrapped ETH (WETH) a través del puente Omni:

«El puente tiene un límite en la cantidad de WETH que se pueden transferir. El atacante sólo puede obtener 250 ETHW por día. Tenga en cuenta que esto es sólo para este contrato de puente. Esta vulnerabilidad puede existir en otros proyectos de la cadena EthereumPoW».

Tras el éxito del evento Merge de Ethereum, que vio la transición de la cadena de bloques de contratos inteligentes de PoW a PoS, un grupo de mineros decidió continuar la cadena PoW a través de una bifurcación dura.

Aclaración: La información y/u opiniones emitidas en este artículo no representan necesariamente los puntos de vista o la línea editorial de Cointelegraph. La información aquí expuesta no debe ser tomada como consejo financiero o recomendación de inversión. Toda inversión y movimiento comercial implican riesgos y es responsabilidad de cada persona hacer su debida investigación antes de tomar una decisión de inversión.

Free website hits