Le contrôle manquant
Euler permettait aux utilisateurs de faire don d’une partie de leur solde aux réserves du protocole. Dans un protocole de prêt, la plupart des fonctions qui modifient l’état se terminent par une confirmation que le compte est toujours solvable — le contrôle de santé. Celle-ci ne le faisait pas, car faire un don aux réserves ne ressemble pas d’emblée à une opération susceptible de dégrader votre santé financière.
Elle le pouvait pourtant. Un attaquant a souscrit un prêt flash, déposé, emprunté, puis fait un don suffisant pour faire délibérément passer sa propre position sous le seuil de liquidation. Il s’est ensuite liquidé lui-même. Comme la décote de liquidation était calculée à partir de la position désormais en difficulté, l’autoliquidation était rentable, et le prêt flash a été remboursé sur le produit de l’opération.
Les audits et la forme de ce qui est examiné
Euler avait été audité à plusieurs reprises. Il vaut la peine de le dire clairement plutôt que de le passer sous silence, car le qualificatif « audité » est régulièrement présenté aux utilisateurs comme une garantie de sécurité, et cet incident montre précisément ce qu’il n’est pas. Les relecteurs examinent ce qu’ils identifient comme porteur de risque. Une fonction de donation se lit comme un cadeau — l’utilisateur réduit volontairement son propre solde — et la lecture adverse dans laquelle ce geste constitue le premier coup d’une attaque est facile à manquer.
Ce qu’un lecteur peut en retenir
Le risque d’un protocole ne se résume pas au nombre d’audits. Les questions les plus utiles sont de savoir si les invariants sont appliqués uniformément sur chaque chemin modifiant l’état, si le protocole est couvert par un programme de primes aux bogues actif doté d’un montant significatif, et s’il existe une surveillance capable de repérer un schéma de liquidation anormal en cours.
Chronologie
Ajout seulement. Les corrections sont ajoutées sous la forme d'une entrée datée distincte ; les entrées antérieures ne sont jamais réécrites.
- L'attaque s'exécute sur plusieurs marchés d'Euler au moyen d'une série de transactions financées par prêt flash. Euler confirme l'incident. Euler Labs
- L'attaquant commence à restituer les fonds ; la quasi-totalité des actifs est finalement rendue. Euler Labs
Ce qu'il faut vérifier
Euler Labs a publié une analyse post-incident technique, dont le lien figure ci-dessous, identifiant la fonction précise et le contrôle manquant.
Conisec n'héberge ni ne relaie d'outils de récupération, de révocation ou de « vérification ». Après un incident public, les attaquants diffusent systématiquement ce type de liens en utilisant les noms des publications qui couvrent l'affaire. Utilisez le canal officiel du projet concerné, indiqué ci-dessus, et rien d'autre.
Sources
- Euler Labs, Euler Exploit Post-Mortem (13 Mar 2023)
Pas un conseil. Ceci est un résumé de faits publiés, et non un conseil juridique, fiscal ou de sécurité. Vérifiez auprès des sources primaires indiquées ci-dessus.
Dernière vérification par Conisec Staff.