Il semble que @ImpermaxFinance ait été HACKÉ avec ~110 ETH (380K $). Mon analyse préliminaire 👇 Impermax est un protocole de prêt pour le farming LP à effet de levier isolé. Chaque marché isolé a plusieurs imxToken, qui est un coffre-fort où vous déposez des tokens sous-jacents et recevez des imxToken. La vulnérabilité réside dans la fonction "exchangeRate" où si le totalBalance ou le totalSupply est zéro, elle renvoie une valeur initialisée de 1e18. De plus, la fonction de mint/redeem a un problème d'arrondi. En plus de cela, il y a un contrat de type curateur qui gère les coffres des utilisateurs et les alloue à différents marchés. Une autre vulnérabilité est que ces curateurs ont une fonction d'allocation non protégée permettant à quiconque de réallouer ses fonds à différents marchés. L'attaque a utilisé plusieurs transactions. (1) L'attaquant rembourse d'abord tous les prêts actifs sur un marché, ce qui réduit le totalBorrows à 0 ; et l'attaquant alloue également 0 à ce marché ; (2) L'attaquant mint et retire de manière répétée du marché jusqu'à ce que le totalBalance soit arrondi à 0. Actuellement, le totalSupply n'est pas 0 et est uniquement détenu par l'attaquant. (3) L'attaquant alloue tous les fonds du curateur à ce marché. Ce dépôt sera à un taux de change de 1e18 mais l'attaquant détient déjà certaines parts. (4) L'attaquant retire ses parts dans (2) pour réaliser un profit. Veuillez PAUSER les marchés affectés dès que possible @ImpermaxFinance. Notez que seuls certains coffres sont affectés, ceux qui n'ont que des dépôts de curateur. Si un coffre a des dépôts effectués par des utilisateurs, il semble être en sécurité. --- Ce n'est pas un conseil financier, et c'est juste mon analyse préliminaire et je peux faire des erreurs. J'ai contacté l'équipe mais l'équipe n'a pas répondu.
@ImpermaxFinance Mise à jour, l'équipe est déjà au courant du problème et enquête activement.
La mise à jour de l'étape (2) de l'attaque n'est pas correcte, c'est en fait : (2.1) créer une nouvelle position uni v3 en tant que garantie (2.2) emprunter 1 wei sur le marché cible ; (2.3) emprunter le maximum sur le marché de l'autre paire de tokens ; (2.4) attendre le bloc ; puis liquider la position d'emprunt (2.5) appeler collateral.restructureBadDebt Cela permettra de retirer avec succès 1 wei du solde total du marché tout en maintenant l'offre totale inchangée. L'attaquant, en faisant cela plusieurs fois, réduit le solde total à 0 et l'offre totale non nulle.
32,43K