
Exploit del Puente CrossCurve: $3M en 15 Minutos
Los mensajes eran falsos. El dinero era real.
Pues nada, que los de CrossCurve la liaron parda. Su puentecito de marras tragó mensajes entre cadenas que eran más falsos que un billete de siete euros, y todo porque a nadie le dio por comprobar quién coño los enviaba. Tres millones de dólares se esfumaron, en un pliqui, pasando de cadena en cadena. La auditoría, que es lo más surrealista del asunto, le dio el aprobado. El puente, como era de esperar, se fue a hacer puñetas. Esto es 2026, gente, donde eso de "a prueba de balas" viene a significar que "todavía no ha currado con el matón adecuado".
La Esquema
El atacante explotó controles de acceso débiles en los contratos ReceiverAxelar y PortalV2 de CrossCurve — falsificando mensajes cross-chain de Axelar para burlar la validación del remitente. Esto permitió desbloquear y liberar activos en múltiples redes en un flujo coordinado. ~$3M perdidos. Fondos lavados rápidamente. CrossCurve ofreció una recompensa white-hat del 10% con plazo de 72 horas.
El contrato preguntó '¿es válido este mensaje?' La respuesta era 'no.' El contrato lo aceptó de todas formas.
- CrossCurve publicó un post-mortem detallado confirmando que la causa raíz fue la falta de validación del remitente en ReceiverAxelar. La corrección fue desplegada el 14 de febrero.
- La bounty del 10% del white-hat expiró sin respuesta del atacante. Los $3M se consideran irrecuperables — los fondos fueron lavados a través de Tornado Cash en las primeras 6 horas.
- SlowMist publicó un análisis independiente citando 14 protocolos cross-chain adicionales con patrones de validación de remitente similares. CrossCurve no era un caso aislado — era el canario en la mina.
Serie: Exploits de Puentes
Diferentes puentes, misma autopista. Cómo la infraestructura cross-chain falla — por una clave filtrada o un mensaje fabricado.
Un Puente Que Confiaba en Cada Mensaje Que Recibía
CrossCurve se posicionó como un protocolo cross-chain de nueva generación. El marketing prometía interoperabilidad sin fricción. El código entregó vulnerabilidad sin fricción.
En febrero de 2026, un atacante descubrió que el contrato ReceiverAxelar de CrossCurve no validaba correctamente el remitente de los mensajes cross-chain entrantes. El contrato verificaba si el mensaje llegaba vía Axelar. No verificaba si el mensaje era legítimo.
El atacante fabricó mensajes Axelar falsos — instrucciones cross-chain falsificadas que le dijeron a PortalV2 que desbloqueara y liberara activos. Los contratos obedecieron. Sin verificación de control de acceso. Sin lista blanca de remitentes. Confianza ciega en el formato del mensaje.
El puente verificó el sobre. Olvidó revisar la carta.
Por Qué la Validación de Remitente Faltante Cuesta Millones
El paso de mensajes cross-chain se basa en un principio simple: los mensajes enviados desde la Cadena A deben ser verificados antes de ejecutarse en la Cadena B. La verificación debe incluir tres cosas: (1) el mensaje vino del contrato fuente correcto, (2) fue transmitido por el protocolo de puente autorizado, y (3) no fue manipulado en tránsito.
CrossCurve verificó el punto #2 (mensaje vía Axelar) pero no el #1 (del contrato fuente correcto). Cualquiera podía enviar un mensaje a través de Axelar y CrossCurve lo ejecutaba.
La auditoría revisó la lógica del contrato. No señaló la validación de remitente faltante. Este es un patrón recurrente: los auditores revisan lo que el código hace, no lo que no hace.
La auditoría pasó porque el código funcionaba perfectamente. Funcionaba perfectamente para todos — incluyendo al atacante.
Vocabulario Decodificado: Teatro de Seguridad Cross-Chain
Lo que prometía la documentación vs lo que reveló el exploit:
"Asegurado por Axelar"
Lo que parece:
El protocolo de mensajería cross-chain probado en batalla de Axelar protege todas las transacciones.
Lo que realmente pasó:
Axelar transmitió los mensajes correctamente — hizo su trabajo. Los contratos de CrossCurve no verificaron quién envió esos mensajes. 'Asegurado por Axelar' significaba 'el cartero lo entregó.' Pero el cartero no abre el correo.
"Contratos inteligentes auditados"
Lo que parece:
Expertos de seguridad independientes revisaron cada línea de código. Probado y aprobado.
Lo que realmente pasó:
La auditoría revisó la lógica de los contratos. No detectó el control de acceso faltante. Las auditorías no son infalibles. Verifican calidad de código, no suposiciones arquitectónicas.
"Recompensa white-hat del 10% (plazo 72 horas)"
Lo que parece:
Una negociación razonable: devuelve los fondos, quédate el 10%, sin procesamiento.
Lo que realmente pasó:
El plazo de 72 horas expiró. Los fondos no fueron devueltos. El atacante los lavó. Las recompensas white-hat funcionan cuando el atacante tiene conciencia.
El sello de auditoría dice 'seguro.' El exploit dice 'verifica.'
Cómo Mensajes Fabricados Drenaron $3M Entre Cadenas
El ataque fue elegante en su simplicidad. Sin zero-day. Sin reentrancia compleja. Solo validación faltante en el lugar correcto.
Paso 1: Identificar la Verificación Faltante
El atacante analizó el contrato ReceiverAxelar de CrossCurve y descubrió que no validaba la dirección del remitente de mensajes Axelar entrantes. Cualquier dirección podía enviar un mensaje cross-chain.
Este es un vector de ataque bien conocido en protocolos cross-chain. Está en cada checklist de seguridad. No estaba en el checklist de esta auditoría.
Paso 2: Fabricar Mensajes Falsificados
El atacante fabricó llamadas Axelar GMP con datos de payload falsificados — instrucciones para desbloquear y liberar activos de contratos PortalV2 en múltiples cadenas.
Como presentarse en un almacén con un portapapeles y un chaleco reflectante. Nadie cuestiona el uniforme.
Paso 3: Drenaje Multi-Cadena
Los mensajes falsificados activaron liberaciones de activos en Ethereum, BSC y otras redes simultáneamente. ~$3M en total — drenados en un solo flujo coordinado.
Para cuando el equipo se dio cuenta, los fondos estaban a tres cadenas de distancia.
Cadena Técnica: Línea Temporal del Ataque GMP Falsificado
Reconstruido a partir de datos de transacciones on-chain:
T+0: Análisis del Contrato
Atacante identifica que ReceiverAxelar.execute() acepta cualquier parámetro sourceAddress sin validación contra una lista blanca.
La vulnerabilidad era visible en el código público del contrato. Open source significa vulnerabilidades abiertas.
T+2 min: Fabricación de Mensajes
Atacante construye mensajes Axelar GMP con direcciones fuente falsificadas y datos de payload instruyendo a PortalV2 a liberar activos bloqueados.
El payload contenía selectores de función válidos para las funciones de desbloqueo de PortalV2. Lo único falso era el origen.
T+5 min: Ejecución Cross-Chain
Mensajes falsificados transmitidos vía Axelar y ejecutados por contratos de CrossCurve. Activos liberados en múltiples cadenas. Sin alertas porque los mensajes llegaron por canales legítimos de Axelar.
Las herramientas de monitoreo vigilaban patrones inusuales. Un mensaje legítimo de Axelar no activa alertas de patrones. Parece negocio normal. Hasta que el saldo llega a cero.
T+15 min: Lavado Rápido
Fondos intercambiados a través de DEXes y movidos entre cadenas. Para cuando CrossCurve identificó el exploit y pausó contratos, la mayoría de fondos ya habían salido.
15 minutos. De mensaje falso a fondos lavados. El botón de pausa existía. No se presionó lo suficientemente rápido.
15 minutos. Una verificación de validación faltante. $3 millones. La auditoría duró más que el ataque.
Evidencia On-Chain: Los Mensajes Fabricados
Esto es lo que muestran los registros de blockchain sobre las transacciones del ataque:
ReceiverAxelar.execute() fue llamado con un sourceAddress que no correspondía a ningún contrato legítimo de CrossCurve en la cadena fuente.
Traducción: 'Soy de la sede de CrossCurve.' 'OK, pasa.' 'Pero claramente llevo otro uniforme.' 'Aquí no revisamos uniformes.'
Una simple declaración require() verificando sourceAddress contra una lista blanca habría prevenido todo el exploit. Una línea de código. $3 millones.
PortalV2.release() llamado con parámetros válidos pero activado por la ejecución no autorizada de ReceiverAxelar. Activos desbloqueados y transferidos.
Traducción: La puerta de la bóveda se abrió porque alguien dijo 'ábrete sésamo' en el idioma correcto.
El contrato PortalV2 confiaba en ReceiverAxelar implícitamente. Si ReceiverAxelar decía 'libera activos,' PortalV2 liberaba activos. La cadena de confianza tenía un eslabón que confiaba en todos.
El atacante ejecutó el exploit en múltiples cadenas simultáneamente — Ethereum, BSC y al menos una red adicional. No fue un drenaje de una sola cadena. Fue una operación multi-cadena coordinada.
Traducción: ¿Por qué robar un banco cuando puedes robar tres al mismo tiempo? Especialmente cuando los tres tienen la misma cerradura rota.
El aspecto multi-cadena hizo la respuesta más difícil — CrossCurve necesitaba pausar contratos en cada cadena.
Señales de Alerta: Lo Que la Revisión de Código Debió Detectar
- •Sin validación de remitente en el contrato ReceiverAxelar — La verificación de seguridad cross-chain más básica: verificar quién envió el mensaje. Faltaba completamente.
- •Sin lista blanca de direcciones para llamadas cross-chain entrantes — No había lista de direcciones fuente autorizadas. Cualquier contrato en cualquier cadena podía activar liberaciones de activos.
- •La auditoría pasó sin señalar controles de acceso faltantes — La auditoría de seguridad revisó lógica de contratos pero no señaló la ausencia de verificación de remitente.
- •Sin límite de tasa o detección de anomalías en mensajes cross-chain — Patrones inusuales (liberaciones grandes de fuentes nuevas) deberían activar pausas automáticas. No existía tal mecanismo.
- •Plazo de recompensa de 72 horas demasiado corto — El atacante no tenía incentivo para responder. Los fondos fueron lavados antes de que expirara el plazo.
Un puente cross-chain que aceptaba mensajes de cualquiera. No una señal de alerta — un tapete de bienvenida.
Los Números: Lo Que $3M en 15 Minutos Significa
Las matemáticas de un exploit de puente sin validación:
~$3M en Activos Totales Drenados
A través de Ethereum, BSC y redes adicionales.
0 Líneas de Código de Validación
Cero. El contrato ReceiverAxelar no tenía validación de dirección de remitente. La corrección era literalmente una declaración require(). Una línea. Tres millones.
15 Minutos: Duración del Ataque
Del primer mensaje falsificado al último activo drenado.
10% de Recompensa Ofrecida, 0% Devuelto
CrossCurve ofreció $300K al atacante. El plazo de 72 horas expiró. Ningún fondo fue devuelto.
Por Qué Puentes Auditados Siguen Siendo Explotados
Este exploit destaca un problema sistémico en la seguridad DeFi:
Auditorías Revisan Código, No Arquitectura
Las auditorías de seguridad revisan lógica de contratos. Raramente cuestionan suposiciones arquitectónicas como '¿llegarán solo mensajes legítimos?'
Una auditoría es una revisión de código, no una prueba de penetración.
La Complejidad Cross-Chain Crea Puntos Ciegos
Cuando los contratos abarcan múltiples cadenas con múltiples protocolos de mensajería, la superficie de ataque se multiplica.
Más cadenas = más puentes = más suposiciones de confianza = más formas de entrar.
La Velocidad Mata (Tu Presupuesto de Seguridad)
Los protocolos DeFi compiten por lanzar funciones. La verificación que faltaba probablemente no fue omitida maliciosamente. Fue omitida porque nadie pensó en agregarla.
La función era 'transferencia de activos cross-chain.' La función faltante era 'verificar quién la solicitó.'
Por Qué los Usuarios Siguen Confiando en Puentes No Probados
El mismo patrón, cada vez. Nuevo puente, altos rendimientos, dice estar auditado. Usuarios depositan. Usuarios aprenden.
La Trampa del Rendimiento
Los puentes nuevos ofrecen rendimientos más altos para atraer liquidez. Mayor rendimiento = mayor riesgo.
Auditoría como Teatro de Seguridad
Una insignia de 'auditado' crea confianza falsa. Los usuarios ven 'auditado' y asumen 'seguro.' Pero las auditorías son revisiones puntuales por humanos que pueden equivocarse.
FOMO Cross-Chain
¿Nueva cadena? Necesitas un puente. ¿Nuevo token? Necesitas un puente. La urgencia supera la diligencia.
La Suposición del 'Protocolo Mayor'
Los usuarios asumen que protocolos integrados con infraestructura mayor como Axelar deben ser seguros. Axelar era seguro. La implementación de CrossCurve de Axelar no lo era.
El mensaje era falso. La validación faltaba. La auditoría pasó. El dinero se fue. Puentes cross-chain en 2026: misma historia, diferente protocolo.
Cómo Protegerte de Exploits de Puentes
Los puentes son necesarios. La confianza ciega en puentes no lo es:
- Regla 1: Investiga la arquitectura del puente antes de depositar ¿Cómo valida el puente los mensajes cross-chain? Si no puedes encontrar la respuesta, ESA es la respuesta.
- Regla 2: Empieza pequeño, escala gradualmente Nunca cruces todo tu portafolio a través de un protocolo no probado. Empieza con una transacción de prueba pequeña.
- Regla 3: Monitorea TVL y recencia de auditoría ¿Cuándo fue la última auditoría? ¿Qué TVL tiene el puente? ¿Ha sobrevivido una prueba de estrés?
- Regla 4: Usa puentes con retiros con time-lock Los puentes con retrasos de retiro (24-48 horas) dan tiempo a los equipos para detectar y pausar exploits.
- Regla 5: Diversifica tu exposición a puentes No cruces todos los activos por un solo protocolo. Si un puente falla, tu exposición se limita a lo que está en ese puente.
¿Recibiste un Mensaje Sospechoso?
Usa nuestro detector con IA para analizar posibles estafas al instante.
Conclusiones Clave
- 1El puente de CrossCurve fue explotado porque ReceiverAxelar no validaba quién enviaba mensajes cross-chain entrantes.
- 2~$3M drenados en múltiples cadenas en aproximadamente 15 minutos usando mensajes Axelar GMP fabricados.
- 3La auditoría de seguridad pasó. No detectó la validación de remitente faltante. Las auditorías verifican código, no suposiciones arquitectónicas.
- 4CrossCurve ofreció una recompensa white-hat del 10% con plazo de 72 horas. El plazo expiró. Ningún fondo fue devuelto.
- 5Los puentes cross-chain son las autopistas de fondos robados — y en 2026 siguen siendo la categoría más explotada en DeFi.
- 6Antes de usar un puente: verifica arquitectura de validadores, empieza pequeño, prefiere puentes con time-lock, y nunca asumas que 'auditado' significa 'seguro.'
La auditoría pasó.
El puente no.
Preguntas Frecuentes
Fuentes y Citas
Investigación compilada de datos de blockchain disponibles públicamente, informes de seguridad y documentación de la comunidad.
app.crosscurve.fi
docs.axelar.dev
www.chainalysis.com
Verificación: Todas las transacciones y direcciones de blockchain referenciadas en este artículo pueden verificarse de forma independiente a través de los exploradores de blockchain enlazados. Animamos a los lectores a realizar su propia verificación.