O recente hack @ResupplyFi mostra como uma simples divisão inteira pode levar a uma manipulação catastrófica do cofre. Um exploit de $9.56M executado em poucas horas após a implementação. Vamos analisar esta vulnerabilidade crítica do ERC4626 ↓
2/ Vetor de ataque: manipulação da "primeira doação" ERC4626: • Cofrinho vazio na implementação • Atacante deposita 1 wei • Faz uma grande doação de ativos • O preço das ações infla astronomicamente • O cálculo da taxa de câmbio do protocolo quebra
3/ A vulnerabilidade em uma linha: _exchangeRate = 1e36 / IOracle(_exchangeRateInfo.oracle).getPrices(address(collateral)); Divisão inteira sem proteção de arredondamento → a taxa de câmbio arredonda para zero quando o preço do oráculo é muito grande.
4/ A cadeia de exploração: 1. Depositar 1 wei em um cofre vazio 2. Doar para inflacionar o preço das ações 3. O oráculo reporta o preço inflacionado 4. Taxa de câmbio = 0 devido à divisão 5. Verificação de LTV: 0 <= maxLTV (sempre verdadeiro!) 6. Empréstimo ilimitado desbloqueado
5/ A prevenção é simples: _exchangeRate = 1e36 / price; require(_exchangeRate > 0, "Taxa inválida"); Além disso: • Impor depósitos mínimos • Adicionar verificações de proporção de ações • Monitorar a liquidez do cofre
6/ Lição chave: os cofres ERC4626 precisam de proteção extra na implementação. O problema do "primeiro depositante" não é novo, mas o ResupplyFi mostra como pode se transformar em uma vulnerabilidade crítica. Leia a análise técnica completa no nosso blog:
3,72K