Los precios de los activos están temporalmente retrasadosAlgunos activos han dejado de recibir datos de precios actualizados. Las actualizaciones se reanudarán automáticamente cuando se restablezca la conexión de datos.
Bitculator

Consigue Bitculator en Android

Capitalización de mercado:

$1,998,487,016,679

Volumen 24h:

$190,967,071,091

jun 23 Liquidaciones:

$0

24H Largo/Corto:

Próximamente

Bitculator · Aprender

Reentrancy Attack

¿Qué significa Reentrancy Attack en términos cripto?

# 350·Actualizado jun 2026·3 min de lectura

Un Reentrancy Attack es una falla de seguridad en los contratos inteligentes donde un atacante explota la vulnerabilidad del contrato llamándolo repetidamente antes de que la ejecución inicial finalice.

¿Qué es Reentrancy Attack?

Un Reentrancy Attack ocurre cuando un contrato cede el control a otro contrato durante una llamada y ese código externo vuelve a entrar en el primer contrato antes de que termine de actualizar sus registros. Ese truco de sincronización permite al atacante repetir acciones sensibles como retiros una y otra vez. Imagínate solicitar un reembolso y volver al mostrador antes de que el cajero cierre la caja.


Mito

“Solo el código antiguo puede ser víctima de un Reentrancy Attack.” No es cierto. Cualquier contrato que haga una llamada externa antes de fijar su propio estado puede ser vulnerable si la lógica es descuidada.


Cómo funciona Reentrancy Attack

Historia breve. Un contrato inteligente típico tiene una función de retiro que envía fondos al llamante. Si envía los fondos primero y borra el saldo después, un atacante puede colarse con una devolución de llamada y pedir más antes de que el saldo se ponga en cero.

  1. Inicio: El atacante deposita algunos fondos para parecer legítimo.
  2. Llamada: El atacante activa withdraw en el contrato objetivo.
  3. Fallback: El objetivo envía fondos, lo que ejecuta la función fallback del atacante.
  4. Repetir: Ese fallback llama a withdraw otra vez antes de que se actualice el saldo.
  5. Agotar: El bucle continúa hasta que el contrato se queda sin fondos o sin gas. Sí, ese es el truco.

Un pequeño error en el orden, gran problema.


Por qué importa Reentrancy Attack

Te interesa porque los fallos de sincronización mueven dinero real, y rápido. Además, es uno de esos exploits clásicos que todo desarrollador y usuario curioso debería reconocer a simple vista.

  • Beneficio: Conocer el patrón te ayuda a detectar código riesgoso y proteger los fondos.
  • Perspectiva: Se aprovecha de la transparencia pública ya que todo en una blockchain es visible y llamable.
  • Relevancia: Lo verás en DeFi, puentes, tesorerías e incluso pagos de gobernanza para DAOs.

Consejo

Sigue el orden: comprobaciones, luego efectos, luego interacciones. Actualiza los saldos primero y luego realiza llamadas externas. Añade un simple reentrancy guard para mayor seguridad.


Características clave de Reentrancy Attack

Esto es lo que lo hace funcionar:

  • Recursión: Código externo llama de nuevo al mismo contrato antes de que termine.
  • Orden: El fallo aparece cuando enviar fondos o llamar hacia afuera ocurre antes de las actualizaciones de estado.
  • Cruce: Puede rebotar entre múltiples contratos, no solo en una función.
  • Activos: Funciona con ETH, tokens e incluso créditos contables si están mal codificados.

Variaciones

Diferentes versiones, mismo dolor de cabeza para código descuidado:

  • Simple: Reentrar la misma función repetidamente.
  • Cruce: Reentrar mediante una función diferente dentro del mismo contrato.
  • Multi: Reentrar a través de dos o más contratos en bucle.
  • SoloLectura: Influir en vistas u oráculos de precios para engañar escrituras posteriores.

Recordatorio

Arreglar un Reentrancy Attack no se reduce a una sola función. Revisa cada llamada externa, añade pruebas para cadenas de llamada extrañas y programa auditorías regulares.


Ejemplo

El exploit de The DAO en 2016 usó un bucle de reentrancia en withdraw antes de que los saldos se borraran, vaciando una enorme tesorería en minutos.


Dato curioso

La frase de la comunidad “comprobaciones, luego efectos, luego interacciones” vino de guías de seguridad tempranas y se quedó porque es corta, fácil de recordar y funciona.


Resumen

Versión corta para llevar: si código externo puede llamarte antes de que termines tu propia contabilidad, asume que lo hará y podrías regalar dinero. Eso es un Reentrancy Attack.

¿Olvidamos algo??

Tu opinión nos ayuda a mantener las cosas correctas. Contáctanos si algo es incorrecto o falta.

Contacto