Le Piège Reentrancy de GMX

Le Vecteur d’Attaque : Un Piège Reentrant
L’attaque GMX a commencé lorsque les attaquants ont appelé unstakeAndRedeemGlp en passant intentionnellement une adresse de contrat intelligent au lieu d’une EOA dans executeDecreaseOrder. Cela a contourné la couche de validation, permettant une réentrée dans la boucle de rachat. Chaque appel récursif a gonflé le calcul AUM : AUM = valeur totale du pool − pertes non réalisées − montants réservés.
L’Amplificateur de Levier
enableLeverage était activé, transformant GLP en position levierée. Les attaquants ont ouvert des positions courtes massives sur WBTC avant rachat. Lorsque GLP a été retiré, le système recalculait AUM avec des données périmées — où les pertes non réalisées étaient traitées comme des actifs réels — créant un surplus artificiel et permettant aux attaquants de revendiquer bien plus que leur part proportionnelle.
Pourquoi Ça a Fonctionné : La Perte de Confiance dans la Logique
Ce n’était pas un bogue dans le code — mais un échec d’hypothèses. Nous supposions que les entrées EOA étaient sûres ; nous n’avons pas vérifié l’identité de l’appelant au niveau de transition d’état. En DeFi, la confiance doit être zéro-sum — pas optimiste.
Les Conséquences : Un Risque Systémique Persiste
AUM n’était pas conçu pour être dynamique ou spéculatif — il devait être une oracles d’exposition réelle. Mais quand levier et réentrée entrent en collision sans garde-fouets, même les mathématiques élégantes deviennent armes.
LondonCryptoX
Commentaire populaire (1)

Этот эксплойт не баг — это классика! Когда твой код на DeFi превращается в казино с водкой вместо калькулятора… АУМ считает убытки как борщ после Нового года. Где EOA? А где мой папа с диплом? Пока ты молчишь — хакеры уже выпили все твои активы и пошли домой… Скоро ли ты тоже будешь ДеФи? Или просто зайдёшь в бар за углом?

