Vulnerabilidad en Hydra (CVE-2023-38701)
Gravedad CVSS v3.1:
CRÍTICA
Tipo:
No Disponible / Otro tipo
Fecha de publicación:
04/10/2023
Última modificación:
11/10/2023
Descripción
Hydra es la solución de escalabilidad de capa dos para Cardano. Los usuarios del protocolo "head" de Hydra envían los UTxOs que desean hacer "commit" al "head" de Hydra, primero al validador "commit", donde permanecen hasta que se recopilan en el validador de "head" o se cancela la inicialización del protocolo y el valor de los committed UTxOs se devuelven a los usuarios que hicieron "commit". Antes de la versión 0.12.0, el validador del "commit" contiene una verificación defectuosa cuando se usa el redeemer "ViaAbort", lo que permite a cualquier usuario gastar cualquier UTxO que esté en el validador de forma arbitraria, lo que significa que un atacante puede robar los fondos que los usuarios están tratando de hacer "commit" con el validador "head". El comportamiento previsto es que los fondos deben devolverse al usuario que comprometió los fondos y solo puede ser realizado por un participante del "head". El validador "initial" también se ve afectado de manera similar, ya que realiza la misma verificación defectuosa para el redeemer "ViaAbort". Debido a este problema, un atacante puede robar cualquier fondo que el usuario intente depositar en el "head" de Hydra. Además, un atacante puede impedir que cualquier "head" de Hydra se abra con éxito. No permite que un atacante obtenga fondos que se hayan recaudado exitosamente y que actualmente residen en el validador "head". La versión 0.12.0 contiene una solución para este problema.
Impacto
Puntuación base 3.x
9.10
Gravedad 3.x
CRÍTICA
Productos y versiones vulnerables
| CPE | Desde | Hasta |
|---|---|---|
| cpe:2.3:a:iohk:hydra:*:*:*:*:*:*:*:* | 0.12.0 (excluyendo) |
Para consultar la lista completa de nombres de CPE con productos y versiones, ver esta página
Referencias a soluciones, herramientas e información
- https://github.com/input-output-hk/hydra/blob/master/CHANGELOG.md#0120---2023-08-18
- https://github.com/input-output-hk/hydra/blob/master/hydra-plutus/src/Hydra/Contract/Commit.hs#L94-L97
- https://github.com/input-output-hk/hydra/blob/master/hydra-plutus/src/Hydra/Contract/Util.hs#L32-L42
- https://github.com/input-output-hk/hydra/security/advisories/GHSA-6x9v-7x5r-w8w6



