Saltar al contenido
Est. MMXXVIVol. VI · № 273RSS
Blockchain Breaches

Archivo de incidentes de seguridad en criptomonedas — hackeos, exploits, fallos de puentes y rug pulls, documentados con evidencia on-chain.

Expediente № 122Reentrancy

Reentrada en swap de Orion Protocol

$3 M drenados de Orion en Ethereum y BSC tras aceptar doSwapThroughOrionPool rutas no validadas sin guarda de reentrada; un token falso infló saldos.

Fecha
Estado
Fondos robados

El 2 de febrero de 2023, el protocolo de trading descentralizado Orion Protocol fue explotado por aproximadamente $3 millones$2,84 M en Ethereum y $191K en BSC. La función doSwapThroughOrionPool aceptaba una ruta de swap suministrada por el usuario sin validar los tokens y sin protección contra reentrada, permitiendo al atacante insertar un token falso cuyo callback de transferencia reingresaba en la lógica de depósito.

Qué ocurrió

doSwapThroughOrionPool de Orion permitía a los usuarios ejecutar swaps a través de una ruta de direcciones de tokens suministrada por el llamador. Dos omisiones se combinaron fatalmente:

  1. Sin validación de token — la función aceptaba cualquier dirección de token en la ruta, incluyendo contratos desplegados por el atacante.
  2. Sin guarda de reentrada — el swap podía reingresar mientras su contabilidad estaba incompleta.

El ataque:

  1. Desplegó un token falso ATK mediante un contrato auto-destructivo, con un callback transfer malicioso.
  2. Tomó un flash swap de ~$2,84 M USDT de un par de Uniswap V2.
  3. Llamó a doSwapThroughOrionPool con una ruta que incluía el token falso ATK.
  4. Cuando la lógica de swap de Orion invocó la transferencia de ATK, el callback reingresó en la función de depósito de Orion antes de que se asentara la contabilidad del swap original — acreditando el saldo interno del atacante sin fondos reales que lo respaldaran.
  5. Retiró el saldo inflado como activos reales, reembolsó el flash swap, y blanqueó ~1.100 ETH a través de Tornado Cash.

Consecuencias

  • Orion Protocol pausó las funciones afectadas y reembolsó a los usuarios afectados con reservas del protocolo; el equipo declaró que todos los fondos de usuarios serían restituidos.
  • El equipo atribuyó parcialmente el problema a una dependencia de biblioteca de terceros en la ruta de swap, aunque la guarda de reentrada faltante era propia de Orion.
  • El protocolo posteriormente se renombró como Lumia.

Por qué importa

Orion Protocol es una entrada más en la línea de "ruta de swap no validada + guarda de reentrada faltante" que recorre BurgerSwap (2021), Transit Swap (2022) y Exactly Protocol (2023). La forma recurrente:

  • Una función de enrutamiento/swap acepta direcciones de token suministradas por el llamador.
  • La función hace llamadas externas a esos tokens (transferencias).
  • Esas llamadas externas pueden reingresar en el protocolo porque la función carece de guarda de reentrada.
  • Un atacante suministra un token malicioso cuyo callback de transferencia explota la reentrada.

La respuesta defensiva son dos primitivos bien documentados aplicados juntos: validar cada dirección de token/contrato contra una lista de permitidos Y aplicar una guarda de reentrada a cada ruta que muta estado y hace llamadas externas. Ninguno solo es suficiente; Orion no tenía ninguno en la ruta explotada.

La frecuencia con la que este bug compuesto exacto recurre — a través de años, cadenas y equipos — es una de las demostraciones más claras del catálogo de que el conocimiento de seguridad DeFi no se propaga automáticamente. Cada nuevo contrato de enrutamiento/agregación es una nueva oportunidad para omitir uno o ambos primitivos, y la omisión se sigue haciendo porque el código de enrutamiento es complejo, se despliega rápido y a menudo es auditado con menos rigor que la lógica central del pool.

Fuentes y evidencia on-chain

  1. [01]coindesk.comhttps://www.coindesk.com/business/2023/02/02/orion-protocol-loses-3m-of-crypto-in-trading-pool-exploit
  2. [02]blog.solidityscan.comhttps://blog.solidityscan.com/orion-protocol-hack-analysis-missing-reentrancy-protection-f9af6995acb3
  3. [03]medium.comhttps://medium.com/neptune-mutual/taking-a-closer-look-at-orion-protocol-hack-9631e4858692

Registros relacionados