🚹 ALERTE D’EXPLOIT : 35 000 $ vidĂ©s de @DoinGudHQ

Un bug de type rĂ©entrance dans la fonction acceptOffer. Voici l’alpha :

La faille :
‱ L’implĂ©mentation 0x123aaf... transfĂšre des $USDC Ă  msg.sender mais NE SUPPRIME JAMAIS l’enregistrement de l’offre
‱ Contrîles manquants : aucune protection offerer != msg.sender, aucune exigence offerAmount > 0
‱ RĂ©sultat ? La mĂȘme offre peut ĂȘtre rejouĂ©e indĂ©finiment avec des calldata identiques

Les dégùts :
‱ L’attaquant (0xb8c717...) a drainĂ© 70 973 $USDC en UNE seule transaction via un flash loan
‱ acceptOffer rejouĂ© deux fois, emportant ~35 000 $ de profit
‱ ZĂ©ro NFT transfĂ©rĂ©, aucun capital en jeu

Contrat victime : 0xe3a161...
Attaquant : 0xb8c717... / 0xe588834...

Leçon : Toujours remettre l’état Ă  zĂ©ro aprĂšs les transferts. La logique swap-and-pop de cancelOffer Ă©tait totalement absente ici. Un grand classique des piĂšges DeFi.

SlowMist l’a repĂ©rĂ©. Restez en sĂ©curitĂ©.