El reciente hackeo de @ResupplyFi muestra cómo una simple división entera puede llevar a una manipulación catastrófica del vault. Un exploit de $9.56M ejecutado en cuestión de horas tras su implementación. Desglosemos esta crítica vulnerabilidad de ERC4626 ↓
2/ Vector de ataque: manipulación de "primera donación" ERC4626: • Bóveda vacía al momento del despliegue • El atacante deposita 1 wei • Realiza una gran donación de activos • El precio de las acciones se infla astronómicamente • El cálculo de la tasa de cambio del protocolo se rompe
3/ La vulnerabilidad en una línea: _exchangeRate = 1e36 / IOracle(_exchangeRateInfo.oracle).getPrices(address(collateral)); División entera sin protección de redondeo → la tasa de cambio se redondea a cero cuando el precio del oráculo es demasiado grande.
4/ La cadena de explotación: 1. Depositar 1 wei en la bóveda vacía 2. Donar para inflar el precio de las acciones 3. El oráculo informa el precio inflado 4. Tasa de cambio = 0 debido a la división 5. Verificación de LTV: 0 <= maxLTV (¡siempre verdadero!) 6. Préstamos ilimitados desbloqueados
5/ La prevención es simple: _exchangeRate = 1e36 / precio; require(_exchangeRate 0, "Tasa inválida"); Además: • Hacer cumplir los depósitos mínimos • Agregar verificaciones de proporción de acciones • Monitorear la liquidez del vault
6/ Lección clave: los vaults ERC4626 necesitan protección adicional al ser desplegados. El problema del "primer depositante" no es nuevo, pero ResupplyFi muestra cómo puede convertirse en una vulnerabilidad crítica. Lee el análisis técnico completo en nuestro blog:
3.61K