Parece que @ImpermaxFinance é HACKEADO com ~ 110 ETH ($ 380 mil). Minha análise 👇 preliminar Impermax é um protocolo de empréstimo para cultivo isolado de LP alavancado. Cada mercado isolado tem vários imxToken é um cofre onde você deposita o token undelrying e recebe imxToken. A vulnerabilidade está na função "exchangeRate", onde se totalBalance ou totalSupply for zero, ele retorna um valor inicializado 1e18. Além disso, a função cunhar/resgatar tem um problema de arredondamento. Além disso, há um contrato semelhante a um curador que gerencia os cofres dos usuários e os aloca em diferentes mercados. Outra vulnerabilidade é que esses curadores têm uma função de alocação desprotegida, permitindo que qualquer pessoa realoque seus fundos para diferentes mercados. O ataque usou várias transações. (1) O invasor primeiro paga todos os empréstimos ativos em um mercado, o que reduz totalBorrows para 0; E o invasor também aloca 0 para esse mercado; (2) O invasor repeteted cunhar e retirar-se do mercado até que o totalBalance seja arredondado para 0. Atualmente, totalSupply não é 0 e é mantido apenas pelo invasor. (3) O invasor aloca todos os fundos do curador para este mercado. Este depósito será a uma taxa de câmbio de 1e18, mas o invasor já detém algumas ações. (4) O invasor retira suas ações em (2) com fins lucrativos. PAUSE os mercados afetados o mais rápido possível @ImpermaxFinance. Observe que apenas alguns cofres são afetados, que só tem depósitos de curadores. Se um cofre tiver depósitos feitos pelos usuários, parece ser seguro. --- Este não é um conselho financeiro, e é apenas minha análise preliminar e posso cometer erros. Entrei em contato com a equipe, mas a equipe não respondeu.
@ImpermaxFinance Update, a equipe já está ciente do problema e está investigando ativamente
Atualize a etapa (2) do ataque não está correta, na verdade: (2.1) Criar uma nova posição UNI v3 como garantia (2.2) emprestar 1 WEI no mercado-alvo; (2.3) emprestar Max do mercado de tokens de outros pares; (2.4) aguarde no bloqueio; em seguida, liquidar a posição de empréstimo (2.5) call collateral.restructureBadDebt Isso retirará com sucesso 1 wei do saldo total do mercado, enquanto a oferta total permanece inalterada. O invasor, ao fazer isso várias vezes, reduz o saldo total para 0 e totalsupply diferente de zero.
32,5K