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 № 182Fallo de smart contract

Drenaje por llamada externa en Unizen

Drenaron $2,1M del agregador DEX de Unizen vía una llamada externa insegura en una actualización reciente que afectó a usuarios con aprobaciones.

Fecha
Víctima
Unizen
Cadena(s)
Estado
Parcialmente recuperado

El 9 de marzo de 2024, el agregador DEX cross-chain Unizen fue explotado por aproximadamente $2,1 millones — drenados de usuarios que habían concedido aprobaciones de tokens a un contrato recién actualizado. El bug: la actualización introdujo una vulnerabilidad de llamada externa insegura en la ruta del swap. (El ranking de Rekt lista este incidente en $21M; la pérdida verificada en análisis independientes es $2,1M.)

Qué ocurrió

El contrato de agregación DEX de Unizen fue actualizado poco antes del exploit. La actualización introdujo una nueva ruta que hacía llamadas externas arbitrarias durante la ejecución del swap — sin validación rigurosa del objetivo de la llamada o del calldata.

Para los usuarios que habían concedido al contrato de Unizen aprobaciones de tokens — típico para cualquier UX de agregador DEX — el bug creó un patrón familiar: cualquier llamante podía construir un "swap" cuya llamada externa subyacente realizara un transferFrom contra el saldo aprobado de la víctima a la dirección del atacante.

PeckShield señaló el problema públicamente en horas tras las primeras transacciones maliciosas; los investigadores on-chain hicieron emerger el patrón, y Unizen detuvo el contrato afectado.

Consecuencias

  • El fundador de Unizen Sean Noga prestó fondos personalmente a la empresa para financiar reembolsos inmediatos a usuarios.
  • Los usuarios que habían perdido menos de $750.000 fueron reembolsados; pérdidas mayores se abordaron a través de una vía de negociación separada.
  • El contrato fue parcheado y redesplegado con validación adecuada de llamadas externas.
  • El atacante blanqueó a través de Tornado Cash; sin recuperación pública.

Por qué importa

Unizen es uno de tres incidentes estructuralmente similares de bugs de aprobación de marzo de 2024 — junto con WOOFi y Dolomite — que destacaron el patrón recurrente de agregadores DEX: los usuarios conceden aprobaciones a un contrato; el contrato tiene cualquier ruta que realice una llamada externa no validada; cualquier llamante puede drenar los saldos aprobados.

La lección estructural es la misma repetida en Furucombo, Transit Swap y LI.FI: las actualizaciones de contrato que tocan la ruta de ejecución del swap deben ser re-auditadas de extremo a extremo, no tratadas como parches rutinarios. La superficie de ataque de un agregador con aprobaciones permanentes es la unión de cada ruta de código que puede ser alcanzada después de que se haya concedido approve(), a través de todo el historial de actualizaciones del contrato.

La respuesta del equipo de Unizen — reembolsos inmediatos financiados por préstamo del fundador — fue inusualmente rápida y completa para la escala de pérdida. Estableció una vara creíble para cómo un equipo de pequeño protocolo puede manejar creíblemente un exploit de tamaño medio sin destruir la confianza del usuario.

Fuentes y evidencia on-chain

  1. [01]halborn.comhttps://www.halborn.com/blog/post/explained-the-unizen-hack-march-2024
  2. [02]beincrypto.comhttps://beincrypto.com/unizen-defi-hack-million/
  3. [03]web3isgoinggreat.comhttps://www.web3isgoinggreat.com/?id=unizen-hack

Registros relacionados