Un exploit en Splash drena el pool ADA/OADA de Cardano

Splash afirma que un fallo en su validador de StableSwap permitió a un atacante retirar aproximadamente 2.43 millones de ADA y 1.99 millones de OADA. Optim Finance pausó su protocolo después de que desapareciera la liquidez de OADA.

By SongMarketCap

Updated:

Cardano News - Un exploit en Splash drena el pool ADA/OADA de Cardano

Splash Protocol ha publicado un informe técnico que explica cómo un atacante drenó el pool StableSwap ADA/OADA el 13 de septiembre.

Posteriormente, Optim Finance pausó su protocolo, retiró la liquidez restante bajo su control y advirtió a los usuarios que OADA ya no podía intercambiarse de vuelta por ADA mediante su ruta habitual.

Splash dijo que no se vieron afectados otros tipos de pools. El incidente ocurrió dentro de la infraestructura de contratos inteligentes a nivel de aplicación y no comprometió la propia red de Cardano.

Cómo se explotó el validador de StableSwap

La vulnerabilidad se encontraba en el validador stableFnPoolT2t de Splash, que impulsaba el pool StableSwap de dos activos ADA/OADA.

El validador calculaba las reservas negociables restando las comisiones del protocolo acumuladas del balance total del pool. Sin embargo, no verificaba que las reservas resultantes permanecieran positivas. También carecía de un límite superior suficiente sobre los incrementos en las comisiones del protocolo y no hacía cumplir la dirección de intercambio esperada, en la que un activo entra en el pool mientras otro sale.

El atacante explotó esos controles ausentes en dos transacciones.

En la primera transacción, ejecutada a las 00:47:36 UTC, el atacante depositó 9,870 ADA y una cantidad mínima de OADA. Casi todo el depósito de ADA se registró como comisiones del protocolo, dejando solo un lovelace añadido a la reserva negociable de ADA del pool.

Cuarenta y cinco segundos después, una segunda transacción empujó la reserva negociable de ADA calculada por debajo de cero. Debido a que el invariante de StableSwap se evaluó usando una reserva negativa, el validador aceptó una transacción que retiró tanto ADA como OADA del pool.

La oferta de tokens LP permaneció sin cambios, sin que se acuñaran ni quemaran tokens LP durante el exploit.

Splash dijo que cualquiera de dos protecciones adicionales habría detenido el ataque: exigir que las reservas negociables se mantuvieran positivas o imponer un límite superior a los cambios en las comisiones del protocolo acumuladas.

El informe también indica que la rama de intercambio ejecutada coincidía con el código auditado previamente. La auditoría de 2024 no identificó las verificaciones faltantes de comisiones del protocolo, reservas positivas y dirección del intercambio utilizadas en el ataque.

Por qué el pool era crítico para OADA

OADA es un activo sintético anclado a ADA desarrollado por Optim Finance. Los usuarios pueden acuñar OADA depositando ADA, pero el sistema no proporciona un mecanismo directo para canjear OADA de vuelta por ADA.

En su lugar, los usuarios normalmente salen a través del pool StableSwap ADA/OADA en Splash. El pool también respaldaba la Algorithmic Market Operation de Optim, que gestionaba la liquidez para mantener a OADA cerca de su paridad con ADA.

El informe oficial del incidente atribuye el exploit al validador de Splash. No identifica una vulnerabilidad en el AMO de Optim ni describe el incidente como un hackeo de contratos de Optim.

Vaciar el pool de Splash eliminó la principal vía de salida de OADA y el mercado utilizado para sostener su paridad.

El atacante luego vendió el OADA retirado a través de un pool Minswap V2 OADA/FLDT. El intercambio produjo aproximadamente 563,073 FLDT, que posteriormente se convirtió en aproximadamente 115,323 ADA.

Optim reportó que el atacante también vació la liquidez de OADA en otros centros de negociación. Esos protocolos no se vieron comprometidos por el mismo fallo del validador. Sus mercados se vieron afectados después de que el pool principal de Splash ya hubiera sido vaciado.

Qué ocurre a continuación

Optim dijo que su protocolo fue pausado y que se había retirado toda la liquidez disponible. Indicó a cualquiera que estuviera proporcionando liquidez para OADA o para el token de gobernanza de Optim O que retirara su liquidez de inmediato y advirtió a los usuarios que no crearan nuevas posiciones de liquidez de OADA.

Optim no ha aclarado si la pausa cubre todos los productos y módulos o solo las operaciones conectadas a OADA.

Splash ha marcado el código de StableSwap afectado como vulnerable y está rastreando fondos enviados a direcciones conectadas con sistemas de depósito de exchanges. El equipo dijo que planea contactar a KuCoin y Gate.io con información de las transacciones.

Splash también invitó al atacante a devolver los fondos mediante una posible resolución de sombrero blanco que incluiría una recompensa y sin mayor escalada.

No se ha confirmado públicamente la devolución de fondos. Ni Splash ni Optim han anunciado un programa de reembolso, un cronograma de recuperación ni el lanzamiento de un validador corregido.