Skip to main content

Vulnerability reference

A catalog of common Cardano smart contract vulnerabilities, each linking to a deep dive. Use it as a reference when building and auditing dApps. For the conceptual overview, what the eUTXO model protects you from and the patterns that keep validators safe, start with Smart Contract Security.

Vulnerability catalog

VulnerabilityIdentifierDescription
Double Satisfactiondouble-satisfactionMultiple UTxOs in one transaction - each validator sees the same outputs, so one payment satisfies all of them
Missing UTxO Authenticationmissing-utxo-authenticationAnyone can create UTxOs at script addresses - without authentication (validity tokens), can't distinguish legitimate from fake
Time Handlingtime-handlingValidators only see time intervals, not exact timestamps - incorrect bound handling enables time manipulation
Token Securitytoken-securityNative tokens, validation tokens, dust attacks, and execution limit exploits
Unbounded Valueunbounded-valueUnlimited tokens in UTxO cause size/execution limit failures - funds become unspendable
Unbounded Datumunbounded-datumDatum growing without limits eventually exceeds resource constraints
Unbounded Inputsunbounded-inputsToo many UTxOs required simultaneously hits transaction size/resource limits
Other Redeemerother-redeemerLogic expecting specific redeemer bypassed by using different redeemer on same script
Other Token Nameother-token-nameMinting policies not checking all token names allow unintended tokens under same policy ID
Arbitrary Datumarbitrary-datumNot validating datum when locking allows invalid data causing spend failures
UTxO Contentionutxo-contentionShared global state creates contention when multiple users access same UTxO
Cheap Spamcheap-spamLow-cost spam actions stall legitimate protocol operations
Insufficient Staking Controlinsufficient-staking-controlMissing staking credential checks allow reward redirection
Locked Valuelocked-valuePermanent value locking - consider economic tradeoffs

Practice

Attack these yourself in the Cardano CTF, an interactive security game where you exploit vulnerable contracts.

Sources

Reference material:

  • MLabs - Formal vulnerability framework
  • Invariant0 - In-depth security analysis
  • Mesh - Code examples