Cardano Hydra
cpe:2.3:a:iohk:hydra:*:*:*:*:*:*:*
- 0.20.0
A vulnerability exists in Cardano Hydra's layer-two scalability solution, specifically in versions prior to 0.22.0. The issue arises from the assumption of layer-one event finality without accounting for failed transactions. This oversight allows for re-organization attacks, as Hydra prematurely considers certain events finalized once recognized by node participants. Additionally, failed transactions, although rare, can still appear in Cardano's layer-one blocks, further complicating the transaction handling. The vulnerability has been addressed in version 0.22.0.
Exploitation of this vulnerability can lead to desynchronization of Hydra head participants, causing stale deployments and potential social attacks on protocols that rely on off-chain activity metrics.
To reproduce the vulnerability, first submit a deposit transaction for an incremental commit. Hydra nodes will observe this deposit and queue it for processing. However, if a re-organization occurs that invalidates the deposit transaction on the canonical fork, the Hydra head will become desynchronized, causing a failure in the process. This can be demonstrated by submitting a deposit transaction that includes a deliberately failed Plutus script, forcing the transaction to fail while still being observed by Hydra.
Users can update to Hydra version 0.22.0, which addresses the vulnerability by improving the handling of event finality and failed transactions.
Our algorithm analyzes dozens of metrics to generate these 8 key vulnerability categories, which are then combined to calculate the overall risk score.