Wormhole war eine der meistgenutzten Brücken zwischen Ethereum und Solana: auf der einen Seite ETH einzahlen, auf der anderen Seite wrapped ETH (wETH) erhalten, wobei die eingezahlten Coins 1:1 als Escrow gehalten wurden. Am 2. Februar 2022 fälschte ein Angreifer eine gültige Signatur für eine Nachricht, der die Brücke vertraute, und prägte 120.000 wETH – etwa 325 Millionen USD –, ohne etwas einzuzahlen, und löste anschließend rund 250 Millionen USD echtes Ethereum aus dem Kollateral der Brücke aus.
Der Fehler bei der Signaturprüfung war im Projekt bekannt, und ein Fix war bereits geschrieben. Doch der Fix wurde am Tag des Angriffs in das öffentliche GitHub-Repository des Projekts gepusht, bevor er in die Produktion gelangte. Der Commit wurde als routinemäßige Versionsaktualisierung beschrieben, doch wie der Entwickler Matthew Garrett beobachtete, war der Diff dafür viel zu groß – und er verriet jedem, der hinsah, genau, wo die Schwachstelle lag. Stunden später wurde sie ausgenutzt.
Wormhole meldete, das Netzwerk sei „wegen Wartungsarbeiten nicht verfügbar“, bestätigte den Diebstahl und bot dem Angreifer eine Prämie von 10 Millionen USD an, eingebettet in eine On-Chain-Nachricht. Der Dieb nahm sie nie an. Am nächsten Tag ersetzte Jump Crypto – die Handelsfirma, deren Entwickler Wormhole bauen – die 120.000 ETH, um die Brücke zahlungsfähig zu halten; eine Rettungsaktion, über die CoinDesk berichtete und die Jump selbst auf Twitter bestätigte.
325 Mio. USD in wETH, aus dem Nichts geprägt; etwa 250 Mio. USD aus dem Ethereum-Kollateral der Brücke abgezogen; Solana fiel am selben Tag um 10 %
Der gepatchte Code lag in einem öffentlichen Repo, während in der Produktion noch die verwundbare Version lief – der Fix selbst wurde zur Anleitung für den Exploit.
Der Commit war als routinemäßiges Update gekennzeichnet, doch sein Umfang widersprach dieser Bezeichnung und machte stillschweigend publik, dass ein Sicherheitsfix unterwegs war.
Code veröffentlichen und Code ausführen wurden als getrennte Vorgänge behandelt – was auf einer öffentlichen Blockchain niemals möglich ist.
Eine Signaturprüfung auf einer Brücke ist ein einzelner Punkt, der neunstellige Beträge schützt; ein Neodyme-Audit Monate zuvor hatte den Fehler nicht erkannt.
Ein öffentliches Repo ist ein Deployment-Kanal, ob man will oder nicht. Wenn der Fix dort existiert, wo Angreifer ihn lesen können, dann committen und ausliefern zugleich – oder zuerst ausrollen und erst veröffentlichen, wenn jeder Node gepatcht ist.
Jumps Cryptos Injektion von 120.000 ETH hielt wETH 1:1 gedeckt und stoppte eine Ansteckung über Solanas DeFi-Kreditmärkte, von denen viele wETH als Kollateral nutzten. Der Dieb wurde nie identifiziert, und die Prämie blieb unbeantwortet. Der Vorfall wurde zum kanonischen Beleg für Vitalik Buterins Warnung, dass Cross-Chain-Brücken „grundlegende Grenzen“ der Sicherheit haben, und er drängte Brückenteams dazu, Fixes bis zum Abschluss des Deployments zurückzuhalten – und Audits als Untergrenze statt als Obergrenze zu behandeln.
DEN BELEGEN FOLGEN
Die Quellen
- Wormhole cryptocurrency platform hacked for $325 million after error on GitHub The Verge · theverge.com ·
- $320 million stolen from Wormhole, bridge linking solana and ethereum CNBC · cnbc.com ·
- Jump Trading Backstops Wormhole's $320M Exploit Loss CoinDesk · coindesk.com ·