Aller au contenu
Fondé MMXXVIVol. VI · № 273RSS
Blockchain Breaches

Archive des incidents de sécurité dans les cryptomonnaies — piratages, exploits, défaillances de ponts et rug pulls, documentés avec des preuves on-chain.

Dossier № 079Bug de smart contract

Manipulation de contexte Superfluid

8,7 M$ drainés de Superfluid : un 'context' malveillant passé à son contrat host a permis à l'attaquant d'usurper l'appelant et exécuter des streams privés.

Date
Victime
Superfluid
Chaîne(s)
Statut
Partiellement récupéré

Le 8 février 2022, le protocole de streaming d'argent Superfluid a perdu environ 8,7 millions de dollars lorsqu'un attaquant a manipulé l'objet « context » que le contrat host de Superfluid transmet entre ses contrats d'accord. En forgeant le contexte, l'attaquant a usurpé l'identité de l'appelant et exécuté des opérations de stream privilégiées.

Ce qui s'est passé

L'architecture de Superfluid transmet une struct ctx (context) sérialisée à travers callAgreement entre le host et les contrats d'accord, transportant l'identité de l'appelant et les métadonnées d'appel. Le host ne validait pas suffisamment qu'un ctx fourni par l'appelant était authentique.

L'attaquant a construit un contexte malveillant qui représentait faussement msg.sender comme un compte privilégié/arbitraire, puis l'a utilisé pour appeler des fonctions d'accord qui déplaçaient les fonds streamés comme s'ils étaient autorisés — extrayant ~8,7 M$ en actifs mixtes sur Polygon.

Conséquences

  • Superfluid a patché la validation du contexte et mis en pause les opérations affectées.
  • Une part significative a été récupérée via négociation et la réponse de l'équipe.
  • Superfluid a publié un post-mortem détaillé sur la cause racine de forgerie de contexte.

Pourquoi c'est important

Superfluid est un cas net pour pourquoi toute métadonnée « qui suis-je » fournie par l'appelant doit être validée cryptographiquement ou structurellement, jamais simplement crue. L'architecture de streaming nouvelle du protocole a introduit un nouvel objet de confiance (ctx) — et la nouvelle abstraction a réintroduit la plus ancienne vulnérabilité (usurpation d'appelant) sous une nouvelle forme. La leçon récurrente du catalogue : chaque nouvelle primitive architecturale est une nouvelle opportunité de réintroduire des bugs d'authentification d'appelant et de contrôle d'accès, car la primitive n'est pas auditée par l'expérience collective de l'écosystème jusqu'à ce que des incidents comme celui-ci l'enseignent.

Sources & preuves on-chain

  1. [01]halborn.comhttps://www.halborn.com/blog/post/explained-the-superfluid-hack-february-2022
  2. [02]medium.comhttps://medium.com/superfluid-blog/08-02-22-exploit-post-mortem-15ff9c97cdd
  3. [03]rekt.newshttps://rekt.news/superfluid-rekt

Dépôts liés