MakerDAO ha corregido un error «crítico» en la actualización de su Dai Multi-Collateral (MCD), que podría haber puesto en riesgo más del 10% de la garantía total del sistema.
El error fue detectado por el usuario de HackerOne lucash-dev, quien lo reportó a través del foro de HackerOne y recibió una recompensa de $50,000 por descubrir la falla potencialmente devastadora.
«Nuestro sistema de subastas permitió al atacante potencial crear una subasta falsa, ofreciendo básicamente muy poca garantía para una gran cantidad de DAI», dijo a CoinDesk Chris Smith, ingeniero de software senior de MakerDAO. «El sistema confiaría en ese número y lo usaría como crédito contra la garantía en el sistema, permitiendo al hacker básicamente sacar esa otra garantía del sistema.»
El error podría haber devastado el MCD planeado de MakerDAO. Lucash-dev dijo en su informe que «permite a un atacante robar TODAS las garantías almacenadas en el sistema MCD durante la fase de liquidación, posiblemente en una sola transacción».
Lucash-dev le dijo
«Eso sería desastroso si alguna vez ocurriera en un ambiente vivo.»
Pero ni el error ni el host de actualización del MCD salieron nunca al mercado, sino que se detectaron durante la fase de pruebas, antes de que los usuarios tuvieran acceso al sistema.
Tanto los ingenieros de lucash-dev como los de MakerDAO dijeron a CoinDesk que nunca se pusieron en riesgo los fondos de los usuarios.
Bajo el nuevo MCD, los usuarios podrán apostar criptomonedas aparte de ETH como garantía para emitir nuevos Dai. El valor de estas «posiciones de deuda garantizada» tiene que coincidir con el Dai en circulación, ya que el Dai es una moneda representativa, como lo era el dólar estadounidense cuando estaba respaldado por el oro. Algunos usuarios pueden activar un modo de liquidación para equilibrar el sistema.
Lucash-dev le dijo a CoinDesk que el sistema tenía una falla:
Los nuevos contratos de AID con múltiples garantías pueden entrar en una «modalidad de liquidación», lo que significa que todos los propietarios de AID se limitarán a recoger las fichas de garantía correspondientes a su participación en AID. El fallo permite a un atacante engañar al sistema para darle cualquier número de DAI (sólo durante el modo de liquidación), que a su vez puede ser intercambiado por todos los tokens mantenidos como garantía».
El error explotó la implementación del contrato de kick de MCD que permitía a los usuarios publicar subastas falsas, emitir DAI y luego cobrar la garantía.