Exploit en Euler Finance
Una health check ausente en donateToReserves de Euler permitió crear una posición autoliquidable y llevarse 197 M$, casi todo devuelto por el atacante.
- Fecha
- Víctima
- Euler Finance
- Cadena(s)
- Estado
- Recuperado
El 13 de marzo de 2023, el protocolo de préstamo Euler Finance fue explotado por aproximadamente 197 M$. Casi todo fue devuelto por el atacante a lo largo del mes siguiente, convirtiendo este caso en el mayor exploit recuperado en Ethereum hasta la fecha.
Qué ocurrió
Euler exponía una función donateToReserves que permitía a cualquier titular de eTokens donarlos a las reservas del protocolo. La función decrementaba el saldo del donante pero no ejecutaba una health check sobre la posición resultante del donante.
Tomando un préstamo flash, depositando como colateral, pidiendo prestado contra él y luego donando una porción de su saldo de eToken, un atacante podía poner su propia cuenta bajo el agua a propósito. Luego se autoliquidaba en la misma transacción, explotando la recompensa con descuento de liquidación de Euler para extraer más valor del que había puesto. Repitiendo en bucle drenaba los pools de préstamo.
Consecuencias
- El equipo de Euler pausó los contratos en horas y comenzó a negociar on-chain con el atacante.
- El atacante devolvió todos los fondos —aproximadamente 197 M$— a lo largo de las semanas siguientes, alegando aparente arrepentimiento. El caso sigue siendo inusual entre los grandes exploits de DeFi.
- Euler publicó un análisis post-mortem detallado y desde entonces ha redesplegado con contratos reauditados.
Por qué importa
El bug no estaba en los préstamos flash, los oráculos ni la lógica de liquidación: todos esos funcionaban correctamente. El fallo era un único invariante ausente: cada función que modifique el saldo de un usuario debe llamar al mismo helper de health check. Varios protocolos de préstamo auditaron sus bases de código en busca de omisiones análogas en las semanas siguientes.
Fuentes y evidencia on-chain
- [01]medium.comhttps://medium.com/euler-xyz/the-march-13-2023-euler-attack-d5cd462f5ee2
- [02]twitter.comhttps://twitter.com/eulerfinance/status/1635413933076774914
- 0xc310a0affe2169d1f6feec1c63dbc7f7c62a887fa48795d327d4d2da2d6b111d