Réentrance via faux token sur BurgerSwap
BurgerSwap sur BNB Chain ne validait pas les tokens du swap-path : un callback de faux token a réentré le pool en plein swap et drainé 7,2 M$ de réserves.
- Date
- Victime
- BurgerSwap
- Chaîne(s)
- Statut
- Fonds dérobés
Le 28 mai 2021, l'AMM BNB Chain BurgerSwap a perdu environ 7,2 millions de dollars dans une attaque de réentrance financée par prêt flash. Le routage de swap de BurgerSwap ne validait pas les tokens dans un chemin de swap fourni par l'utilisateur, permettant à l'attaquant d'insérer un faux token malveillant dont la logique de transfert réentrait le pool en plein swap et drainait à répétition les réserves.
Ce qui s'est passé
BurgerSwap était un AMM de style Uniswap sur BSC. Son routage de swap acceptait un chemin fourni par l'utilisateur d'adresses de tokens à traverser. Le routeur ne vérifiait pas que les tokens du chemin étaient légitimes — il exécutait simplement les transferts le long du chemin.
L'attaque a enchaîné un faux token, un prêt flash et de la réentrance :
- Déploiement d'un faux token dont
transfer/transferFromcontenait un callback vers du code contrôlé par l'attaquant. - Emprunt flash de WBNB pour financer l'opération.
- Initiation d'un swap via un chemin incluant le faux token.
- Quand le routeur a appelé la fonction de transfert du faux token en plein swap, le callback a réentré la logique de swap de BurgerSwap avant que la comptabilité du premier swap ne se soit fixée.
- Les appels réentrants ont extrait de vraies réserves (WBNB, BURGER et autres tokens) contre des soldes internes périmés.
- Répétition de la boucle, puis remboursement du prêt flash et blanchiment des produits.
Total drainé : environ 7,2 M$ sur plusieurs pools BurgerSwap.
Conséquences
- BurgerSwap a mis en pause les contrats affectés et livré des correctifs ajoutant la validation des chemins de tokens et des gardes de réentrance.
- La position du protocole sur BSC a été significativement endommagée ; il n'a jamais récupéré sa position pré-incident.
- Aucune récupération publique ; les fonds ont été blanchis via les routes de mixage BSC.
Pourquoi c'est important
BurgerSwap est l'un des premiers incidents de réentrance sur BSC lors de la croissance explosive du DeFi Binance Smart Chain mi-2021. Il a combiné deux des classes de bugs DeFi les plus répétées :
- Chemins de tokens fournis par l'utilisateur non validés — le schéma « adresse de confiance depuis un appelant non fiable » de Pickle Finance / Exactly Protocol.
- Protection de réentrance manquante — la lignée DAO / Cream que l'industrie ré-apprend depuis 2016.
L'explosion DeFi de BSC en 2021 a produit un cluster dense de ces incidents (Spartan Protocol, PancakeBunny, BurgerSwap, Belt Finance) à quelques semaines les uns des autres — parce que la croissance rapide de la chaîne attirait des forks à expédition rapide qui n'avaient pas intériorisé les leçons de sécurité que le DeFi Ethereum avait déjà payées. BurgerSwap est une entrée représentative dans cette vague : une nouvelle chaîne ré-apprenant indépendamment, aux frais de l'utilisateur, les exactes vulnérabilités que l'écosystème plus ancien avait déjà cataloguées.
Sources & preuves on-chain
- [01]halborn.comhttps://www.halborn.com/blog/post/explained-the-burgerswap-hack-may-2021
- [02]coindesk.comhttps://www.coindesk.com/markets/2021/05/28/burgerswap-hit-by-flash-loan-attack-netting-over-7m
- [03]peckshield.medium.comhttps://peckshield.medium.com/burgerswap-hack-all-roads-lead-to-reentrancy-c4f9bb4c3d6a