Le 23 mars 2022 à 08:15 UTC, le protocole stablecoin Solana Cashio a été drainé pour environ 48 millions de dollars via un exploit de mint infini. Plus de 2 milliards de tokens CASH ont été frappés à partir de collatéral inexistant ; le prix de CASH est tombé de 1,00 $ à environ 0,00005 $ en quelques heures.
Ce qui s'est passé
Cashio frappait son stablecoin CASH contre des dépôts de tokens LP USDC/USDT du DEX Saber. Le chemin de mint était une chaîne de validations de comptes :
- L'utilisateur fournissait un compte
saber_swap.arrowreprésentant sa position LP. - Le protocole utilisait ce compte pour trouver le compte
crate_collateral_tokenscorrespondant. - Le protocole vérifiait que les tokens LP étaient réels, puis frappait du CASH à un ratio 1:1 USD.
Le code de Cashio manquait deux vérifications de validation essentielles :
- Pas de vérification du champ mint du compte
saber_swap.arrow— le protocole acceptait n'importe quel compte présenté comme source LP Saber. - Pas de vérification de l'autorité du compte
crate_collateral_tokens— n'importe quel appelant pouvait construire un compte « collatéral ».
L'attaquant a construit un faux compte saber_swap.arrow pointant vers un faux compte crate_collateral_tokens qu'il contrôlait, déposé zéro valeur réelle, et minté du CASH contre celui-ci. En répétant la boucle, il a frappé 2 milliards de CASH et l'a immédiatement échangé contre de l'USDC et d'autres actifs réels via les pools Saber.
Au moment où l'équipe Cashio a émis l'alerte « mint infini » à 09:59 UTC, la TVL du protocole était effectivement nulle et CASH avait perdu son peg de manière permanente.
Conséquences
- L'attaquant a retourné une portion des fonds aux petits holders (sous 100 000 $) mais a gardé le reste.
- Cashio ne s'est jamais rétabli et a effectivement cessé.
- Le protocole avait été lancé sans audit formel — un fait largement cité dans les analyses post-mortem.
Pourquoi c'est important
Cashio est devenu l'exemple canonique de pourquoi chaque compte externe passé à un programme Solana doit avoir son mint/owner/authority cryptographiquement vérifié contre des valeurs attendues, pas simplement structurellement type-checké. La même classe de bug — contrainte manquante sur un compte passé — a représenté une fraction significative de tous les exploits de programmes Solana depuis.
Cela a aussi renforcé la leçon plus dure que livrer un stablecoin non audité en mainnet est une proposition à durée de vie limitée.
Sources & preuves on-chain
- [01]halborn.comhttps://www.halborn.com/blog/post/explained-the-cashio-hack-march-2022
- [02]theblock.cohttps://www.theblock.co/post/138934/stablecoin-cashio-on-solana-exploited-for-28-million-in-infinite-mint-glitch
- [03]coindesk.comhttps://www.coindesk.com/tech/2022/03/23/stablecoin-cashio-suffers-infinite-glitch-exploit-tvl-drops-by-28m