> ## Documentation Index
> Fetch the complete documentation index at: https://rootea.es/llms.txt
> Use this file to discover all available pages before exploring further.

# Reentrancy

> Smart contract llama a external_contract.call() antes de actualizar su estado.

# Reentrancy

<p className="glossary-answer">Smart contract llama a external\_contract.call() antes de actualizar su estado.</p>

**Categoría:** [Web3 / Blockchain](/glosario)

🎯 **Trinchera** — Smart contract llama a `external_contract.call()`
**antes** de actualizar su estado. El contrato externo puede
reentrar al original en el mismo flujo y sacar fondos
repetidamente. **Patrón clásico del DAO hack 2016** (\$60M).

🔗 **Kill chain** — Detectar con Slither, MythX. Contratos con
`call.value()` antes de `balance -= amount`. Atacante deploys
contract receiver con fallback que reentra.

🛡️ **Remediación** — Patrón **Checks-Effects-Interactions** (CEI),
ReentrancyGuard de OpenZeppelin (`nonReentrant` modifier),
`transfer()` que limita gas (deprecated post-Istanbul fork).

```solidity theme={null}
// VULNERABLE
function withdraw() public {
  require(balance[msg.sender] > 0);
  msg.sender.call{value: balance[msg.sender]}("");
  balance[msg.sender] = 0;  // demasiado tarde
}
```

***

← [Volver al glosario completo](/glosario)

<script type="application/ld+json">
  {`{"@context":"https://schema.org","@type":"DefinedTerm","name":"Reentrancy","description":"Smart contract llama a external_contract.call() antes de actualizar su estado.","inDefinedTermSet":{"@type":"DefinedTermSet","name":"Glosario táctico de pentesting","url":"https://rootea.es/glosario"},"url":"https://rootea.es/glosario/reentrancy"}`}
</script>

<script type="application/ld+json">
  {`{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Inicio","item":"https://rootea.es"},{"@type":"ListItem","position":2,"name":"Glosario táctico","item":"https://rootea.es/glosario"},{"@type":"ListItem","position":3,"name":"Reentrancy","item":"https://rootea.es/glosario/reentrancy"}]}`}
</script>

*Última actualización: 2026-06-11*
