El 10 de junio de 2026, Raydium —uno de los mayores exchanges descentralizados de Solana— perdió aproximadamente 1,34 millones de dólares después de que un atacante drenara cinco pools de liquidez AMM V3 inactivos que habían permanecido sin actividad desde 2021. El fallo residía por completo en código obsoleto: los pools activos, el CLMM y las versiones más nuevas del AMM de Raydium quedaron intactos, y ningún usuario actual habría podido alcanzar los pools afectados a través de la interfaz.
Qué ocurrió
Los pools explotados pertenecían al programa AMM V3 heredado de Raydium, que el protocolo retiró tras el colapso del libro de órdenes on-chain de Serum. Los cinco pools afectados fueron Sollet USDT–RAY, Sollet ETH–RAY, SRM–RAY, USDC–RAY y RAY–SOL.
La causa raíz fue una validación insuficiente de la dirección del mint LP en el programa retirado. Como el código heredado nunca confirmaba que el token LP presentado fuera el mint genuino del pool, el atacante creó un mint LP falso, lo hizo pasar por el real y eludió los controles de proporción que rigen cuánto puede retirar quien lo solicita. Con esos controles cortocircuitados, el atacante extrajo unos 150.177 RAY, 5.603 SOL y 893.700 USDC. Los programas actuales de mainnet de Raydium usan un mecanismo de suministro virtual y verifican los mints LP junto con otros datos de cuenta, lo que previene esta clase de ataque.
Consecuencias
- Raydium dijo que cubriría todas las pérdidas con su tesorería, de modo que la liquidez afectada (hacía tiempo varada en pools obsoletos) sería compensada en lugar de ser absorbida por los usuarios.
- Los investigadores on-chain PeckShield y Specter rastrearon al atacante: la billetera fue financiada inicialmente a través de KuCoin y luego puenteó las ganancias de Solana a Ethereum.
- Desde Ethereum, el atacante depositó 810 ETH en Tornado Cash y envió 7 ETH a FixedFloat, un patrón de blanqueo coherente con un actor que busca romper el rastro on-chain. Los fondos robados en sí no se recuperaron.
Por qué importa
El exploit de Raydium es un ejemplo claro de un tema recurrente del catálogo: los contratos obsoletos siguen siendo superficie de ataque viva mucho después de ser abandonados. La misma dinámica impulsó el bug del resolver de 1inch, donde un contrato heredado de Fusion v1 fue el punto de entrada, y el incidente de Aevo. El código que ya no aparece en un front-end no es lo mismo que el código que ya no es explotable: mientras el programa esté desplegado y retenga valor, un atacante que lea el código fuente todavía puede invocarlo directamente.
Es además el segundo incidente catalogado de Raydium, tras el troyano de clave de administración de diciembre de 2022 que drenó 4,4 millones de dólares de sus pools. Ambos comparten poco a nivel técnico —uno fue una clave privada robada, este un fallo de validación— pero juntos subrayan cuánta superficie heredada se acumula alrededor de un DEX longevo. La vía de blanqueo a través de Tornado Cash es ya el guion por defecto para los explotadores de sumas inferiores a 10 millones de dólares, la misma ruta tomada tras Cetus, y por eso la compensación con tesorería, no la recuperación on-chain, fue el único remedio realista aquí.
Fuentes y evidencia on-chain
- [01]ccn.comhttps://www.ccn.com/news/crypto/raydium-exploit-legacy-pools-solana/
- [02]crypto.newshttps://crypto.news/raydium-promises-full-refund-after-1-3m-solana-pool-exploit/
- [03]cryptonews.comhttps://cryptonews.com/news/raydium-exploit-fake-lp-tokens-deprecated-solana-pools/
- [04]cryptotimes.iohttps://www.cryptotimes.io/2026/06/10/old-code-new-damage-raydium-hit-by-1-34m-legacy-pool-hack/
- [05]99bitcoins.comhttps://99bitcoins.com/news/altcoins/raydium-dex-hack-134m-dormant-pools/