Empleados de la firma de inversión Paradigm han descubierto un fallo en el protocolo DeFi SushiSwap que podría haberles costado 350 millones de dólares. El fallo permitía drenar los tokens de ETH asignados a un tipo de contrato inteligente enfocado a la subasta/ préstamo.
El pasado lunes, la casa de intercambio descentralizada SushiSwap lanzó un comunicado informando a la comunidad acerca del descubrimiento de un fallo de seguridad en su plataforma. El fallo fue descubierto por un grupo de investigadores liderados por Sam Sun, los cuales forman parte del equipo de seguridad e investigación de la compañía de inversión crypto Paradigm. Sun contó con la ayuda de sus compañeros Georgios Konstantopoulos y Daniel Robinson para descubrir el fallo y reportarlo.
El grupo de Paradigm se puso en contacto con el DEX para tratar de solucionar el problema lo antes posible, antes de que más gente se percatase del mismo. En colaboración con SushiSwap, el error en la plataforma fue corregido en menos de 5 horas, sin perder ningún fondo.
¿Dónde se encontraba el fallo descubierto por Paradigm?
Según los informes publicados tanto por SushiSwap como por el propio Sun, el fallo de seguridad se encontró en el contrato inteligente perteneciente a la «Dutch auction» o subasta holandesa. Dicho contrato está albergado en la plataforma Miso, la plataforma de recaudación de fondos de SushiSwap.
Antes de describir el error, vamos a realizar una breve explicación de como funcionan las subasta holandesa. Como su propio nombre indica, este es un tipo de subasta en la que los inversores realizan ofertas/ pujas por un producto o servicio. Estas pujas reflejan la cantidad máxima dispuesta a pagar desde un principio. Una vez se han realizado todas las pujas admitidas, se hace un recuento y la puja más alta es la escogida como ganadora. Los fondos de los inversores no ganadores son devueltos una vez el contrato evalúa que hay un ganador y libera el resto de pujas.
Uno de los contratos inteligentes de SushiSwap utilizaba este tipo de subasta y ahí es donde se detectó la vulnerabilidad. Según se explica en los informes, el fallo tenía lugar cuando se agrupaban múltiples llamadas «commitEth» y se reutilizaba solo un único «mgs.value». De esta forma un posible atacante podía agregar una puja en la subasta totalmente gratuita, y ganar la subasta sin inversión.
SushiSwap explicó el problema con las siguientes palabras.
«La combinación de lotes con commitEth crea un problema de dos frentes en el que un usuario puede hacer un compromiso superior a mgs.value. Esto agota los tokens no vendidos y, además, drena los fondos recaudados en el contrato como reembolsos si la subasta ha alcanzado el máximo compromiso».
El problema no existía inicialmente cuando se creó el contrato inteligente. Este surgió «cuando una función de conveniencia para las direcciones de billetera interactuó con el mecanismo de reembolso del contrato de subasta», explica Duncan Townsend, director de tecnología de Immunefi.
Por el momento, las subastas para los contratos inteligentes que involucren subastas holandesas, con compromisos de ETH, han sido deshabilitadas. Este tipo de finanzas volverán a estar activas una vez se haya implementado la actualización para arreglar el fallo. La corrección de este fallo podría haber salvado al DEX de perder más de 350 millones de dólares en ETH, los fondos de reserva para este tipo de contratos.
Seguir leyendo acerca de Clipper el nuevo DEX financiado por Polychain Capital, es posible que te parezca interesante.