Skip to content
Vol. 1 · Ed. 2026
CyberGlossary
Entry № 910

Attaque par Reentrance

Qu'est-ce que Attaque par Reentrance ?

Attaque par ReentranceExploit de contrat intelligent ou un appel externe permet a l'attaquant de re-entrer dans la fonction appelante avant la mise a jour de l'etat, vidant les fonds en boucle.


La reentrance survient lorsqu'un contrat envoie des ETH ou des jetons a une adresse externe (via call, transfer ou un hook ERC-777) avant d'avoir mis a jour sa comptabilite interne. L'attaquant controle cette adresse et, dans le callback, rappelle la fonction de retrait, repetant le cycle jusqu'a vider le contrat. Il existe des variantes mono-fonction, inter-fonctions, inter-contrats et en lecture seule. Les mitigations incluent le patron checks-effects-interactions, le ReentrancyGuard d'OpenZeppelin, les paiements pull et l'absence d'appels de bas niveau vers des contrats non fiables. L'attaque The DAO de 2016 est l'exemple canonique et a entraine le hard fork separant Ethereum et Ethereum Classic.

Exemples

  1. 01

    Le hack The DAO (juin 2016) a draine environ 3,6 millions d'ETH via des appels recursifs a splitDAO.

  2. 02

    L'incident Cream Finance en 2021 a exploite une reentrance entre fonctions via des callbacks ERC-777.

Questions fréquentes

Qu'est-ce que Attaque par Reentrance ?

Exploit de contrat intelligent ou un appel externe permet a l'attaquant de re-entrer dans la fonction appelante avant la mise a jour de l'etat, vidant les fonds en boucle. Cette notion relève de la catégorie Web3 et blockchain en cybersécurité.

Que signifie Attaque par Reentrance ?

Exploit de contrat intelligent ou un appel externe permet a l'attaquant de re-entrer dans la fonction appelante avant la mise a jour de l'etat, vidant les fonds en boucle.

Comment fonctionne Attaque par Reentrance ?

La reentrance survient lorsqu'un contrat envoie des ETH ou des jetons a une adresse externe (via call, transfer ou un hook ERC-777) avant d'avoir mis a jour sa comptabilite interne. L'attaquant controle cette adresse et, dans le callback, rappelle la fonction de retrait, repetant le cycle jusqu'a vider le contrat. Il existe des variantes mono-fonction, inter-fonctions, inter-contrats et en lecture seule. Les mitigations incluent le patron checks-effects-interactions, le ReentrancyGuard d'OpenZeppelin, les paiements pull et l'absence d'appels de bas niveau vers des contrats non fiables. L'attaque The DAO de 2016 est l'exemple canonique et a entraine le hard fork separant Ethereum et Ethereum Classic.

Comment se défendre contre Attaque par Reentrance ?

Les défenses contre Attaque par Reentrance combinent habituellement des contrôles techniques et des pratiques opérationnelles, comme détaillé dans la définition ci-dessus.

Quels sont les autres noms de Attaque par Reentrance ?

Noms alternatifs courants : Appel recursif malveillant.

Termes liés