Crypto Prices

La explotación de FlashLoopAdapter drena $305,000 de las billeteras Safe vinculadas a Aave

antes de 1 hora
4 minutos leídos
1 vistas

Explotación del FlashLoopAdapter en Ethereum

Un FlashLoopAdapter personalizado, utilizado para gestionar posiciones apalancadas de Aave v3, ha sido explotado en Ethereum, dejando a dos billeteras Safe con pérdidas estimadas en $305,000. Esto ocurrió después de que un atacante eludiera los controles de acceso del módulo. La firma de seguridad blockchain SlowMist informó que el atacante aprovechó una falla de autenticación en el contrato de FlashLoopAdapter, lo que permitió que una billetera Safe falsa pasara las verificaciones destinadas a restringir el acceso a las billeteras que habían habilitado el módulo. El atacante retuvo alrededor de 114.09 ETH tras usar el módulo para manipular las posiciones mantenidas por las billeteras afectadas.

Alerta TI de SlowMist
Módulo: Loop Safe
Pérdida: ~114.09 ETH
Causa raíz: El control de acceso abierto/cerrado de FlashLoopAdapter solo verifica ISafe(msg.sender).isModuleEnabled(address(this)), lo que puede ser falsificado a través de una billetera Safe falsa que siempre devuelve verdadero.

Detalles del Incidente

El incidente involucró un contrato personalizado construido sobre Aave, en lugar del protocolo central Aave v3. Defimon Alerts, que detectó el ataque a las 15:08:57 UTC del 1 de octubre, afirmó que Aave v3 en sí no se vio afectado. FlashLoopAdapter (módulo Safe v3 loop) es un módulo que abre y cierra bucles apalancados de Aave v3 para las billeteras Safe que lo habilitan. Esta funcionalidad depende de cualquier msg.sender que responda.

FlashLoopAdapter fue diseñado como un módulo Safe para abrir y cerrar posiciones apalancadas a través de Aave v3. Las billeteras Safe que habilitaron el módulo podían usarlo para gestionar estrategias de bucle que involucraban activos y colaterales prestados. Según SlowMist, la debilidad se encontró en los controles de acceso utilizados por las funciones de apertura y cierre del adaptador. En lugar de verificar de manera independiente que el llamador era una billetera Safe legítima, las funciones solo verificaron si ISafe(msg.sender).isModuleEnabled(address(this)) devolvía verdadero. Un atacante podría implementar un contrato de billetera Safe falso programado para devolver verdadero cuando el FlashLoopAdapter realizara la verificación.

Detalles del Ataque

Defimon Alerts indicó que las verificaciones realizadas durante la llamada de retorno no detuvieron la transacción porque el contrato del atacante actuó como proveedor de liquidez flash. Otra función, _swap, permitió una llamada directa a un swapRouter utilizando swapCalldata proporcionado por el llamador. Ambas entradas podían ser controladas por el atacante. En lugar de proporcionar un enrutador de intercambio ordinario, el atacante configuró el enrutador a una de las billeteras Safe de la víctima. El calldata se configuró para llamar a execTransactionFromModule, una función Safe que permite a un módulo habilitado ejecutar una transacción. FlashLoopAdapter ya estaba habilitado por la billetera Safe víctima, por lo que la llamada resultante fue aceptada.

Un problema similar relacionado con los permisos adjuntos a los módulos Safe surgió en septiembre. Una explotación de billetera Safe de Ethereum que involucraba aproximadamente 2,900 rsETH fue rastreada por BlockSec a débiles verificaciones de autorización en un contrato ejecutor conectado a un módulo Safe habilitado. Un bot MEV anticipó el intento de explotación y recibió los activos antes de que la transacción de ataque original se revirtiera, según informó anteriormente crypto.news.

Consecuencias del Ataque

El ataque a FlashLoopAdapter involucró más que simplemente transferir activos que ya estaban dentro de las billeteras afectadas. Defimon Alerts mencionó que el atacante tomó un préstamo flash de Morpho WETH y utilizó la liquidez prestada para pagar aproximadamente 1,335 WETH de deuda de Aave perteneciente a la primera billetera Safe, identificada como 0xcfedf95a3653a128dfc2e4288758a1a1850d169f. Pagar la deuda liberó el colateral vinculado a la posición apalancada de Aave. El atacante luego utilizó la ruta de ejecución del módulo comprometido para hacer que la billetera Safe retirara aproximadamente 1,306 weETH a una dirección controlada por el atacante. Una segunda billetera Safe, 0xe3b23e47df7cd85876ac6cb05bdb9d7cd5b28520, perdió otros 6.4 weETH a través del mismo módulo vulnerable.

Defimon indicó que ambas billeteras Safe afectadas compartían el mismo único propietario. Parte del weETH retirado se intercambió por WETH mientras el atacante liquidaba el préstamo flash y otras partes de la transacción. El atacante se quedó con alrededor de 114.1 ETH, valorados en aproximadamente $305,000 cuando se informó el incidente. SlowMist estimó por separado la pérdida en alrededor de 114.09 ETH y dijo que aproximadamente 1,300 WETH de deuda se pagaron durante el proceso de desbloqueo del colateral.

Conclusiones y Reacciones

Ninguna alerta de seguridad identificó una falla en Aave v3 en sí. El fundador y CEO de Aave, Stani Kulechov, afirmó que el contrato afectado era un adaptador externo de terceros construido sobre Aave y que tenía «cero efecto en Aave v3«. Este no es un contrato de Aave v3, es un adaptador externo de terceros construido sobre Aave, con cero efecto en Aave v3. FlashLoopAdapter es un contrato personalizado separado que utiliza Aave v3 para gestionar posiciones apalancadas mantenidas a través de billeteras Safe.

La vulnerabilidad reportada concernía a cómo el adaptador autenticaba a los llamadores y qué podían hacer ejecutar el módulo habilitado. La distinción se asemeja a otros incidentes en los que un protocolo o servicio permaneció operativo mientras un módulo conectado a billeteras Safe proporcionaba la ruta utilizada por un atacante. SlowMist identificó la dirección del atacante como 0x42c2633438609881c8fBAb82414eb9A0c45F9353, mientras que el contrato vulnerable de FlashLoopAdapter fue listado como 0x16bb8b912da187870c23ec6756bb3fad061283d8. La secuencia de ataque combinó la autenticación falsa de Safe con el control sobre el enrutador del adaptador y los parámetros de calldata.

Popular