Parece que @ImpermaxFinance ha sido HACKED con ~110 ETH ($380K). Mi análisis preliminar 👇 Impermax es un protocolo de préstamos para la agricultura de LP apalancada aislada. Cada mercado aislado tiene varios imxToken, que es un vault donde depositas el token subyacente y recibes imxToken. La vulnerabilidad radica en la función "exchangeRate" donde si el totalBalance o totalSupply es cero, devuelve un valor inicializado de 1e18. Además, la función de mint/redeem tiene un problema de redondeo. Además de esto, hay un contrato similar a un curador que gestiona los vaults de los usuarios y los asigna a diferentes mercados. Otra vulnerabilidad es que estos curadores tienen una función de asignación no protegida que permite a cualquiera reasignar sus fondos a diferentes mercados. El ataque utilizó múltiples transacciones. (1) El atacante primero paga todos los préstamos activos en un mercado, esto reduce totalBorrows a 0; Y el atacante también asigna 0 a este mercado; (2) El atacante mint y retira repetidamente del mercado hasta que el totalBalance se redondea a 0. Actualmente, totalSupply no es 0 y solo está en manos del atacante. (3) El atacante asigna todos los fondos del curador a este mercado. Este depósito estará a un tipo de cambio de 1e18, pero el atacante ya posee algunas acciones. (4) El atacante retira sus acciones en (2) para obtener ganancias. Por favor, PAUSEN los mercados afectados lo antes posible @ImpermaxFinance. Tengan en cuenta que solo algunos vaults están afectados, aquellos que solo tienen depósitos de curadores. Si un vault tiene depósitos realizados por usuarios, parece estar a salvo. --- Esto no es un consejo financiero, y es solo mi análisis preliminar y puedo cometer errores. He contactado al equipo, pero el equipo no ha respondido.
@ImpermaxFinance Actualización, el equipo ya está al tanto del problema y está investigando activamente
Actualizar el paso (2) del ataque no es correcto, en realidad es: (2.1) crear una nueva posición uni v3 como colateral (2.2) pedir prestado 1 wei en el mercado objetivo; (2.3) pedir prestado el máximo del mercado del otro token par; (2.4) esperar en el bloque; luego liquidar la posición de préstamo (2.5) llamar a collateral.restructureBadDebt Esto retirará con éxito 1 wei del totalbalance del mercado mientras que el totalsupply permanece sin cambios. El atacante, al hacer esto múltiples veces, reduce el total balance a 0 y el totalsupply no cero.
32,47K