Cosmos Labs legte am Freitag offen, dass eine Schwachstelle in Cosmos EVM, dem gemeinsamen Stack, mit dem Cosmos-Chains Ethereum-kompatible Anwendungen ausführen können, Angreifern ermöglichte, zwischen dem 20. und 25. August rund 5,7 Millionen Dollar aus sechs Blockchain-Netzwerken abzuziehen. Das Unternehmen räumte ein, dass ein Forscher den Bug am 25. April über sein Bug-Bounty-Programm eingereicht hatte, dass Cosmos-Labs-Tester den Angriff auf Live-Mainnet-Konfigurationen jedoch nicht reproduzieren konnten und zum Schluss kamen, dass Nutzergelder nicht gefährdet seien. Der Fix wurde über den stillen Patch-Prozess statt über eine private Sicherheitsverteilung ausgeliefert.
Warum es wichtig ist
Der Exploit beruht auf einem Integer-Underflow-Bug. Indem der Angreifer mehr Tokens delegierte, als ein Konto hielt, und anschließend die Arithmetik umkehrte, wickelte er einen Saldo über null hinaus bis 2^256-1, eine 78-stellige Zahl, ließ ein Zielkonto rückwärts aufblähen und entwendete dessen Tokens, während die Gesamtmenge unverändert blieb. Der als kritisch eingestufte Sicherheitshinweis von Cosmos Labs betrifft Cosmos-EVM-Versionen vor v0.6.2 und v0.7.2 sowie jedes Cosmos-EVM-Deployment, das zum Zeitpunkt der öffentlichen Code-Änderung noch nicht auf die gepatchten Versionen umgestellt hatte.
Die Kette der Offenlegungsfehler ist ungewöhnlich detailliert. Ein Patch wurde im Mai im stillen Prozess zusammengeführt, dann veröffentlichte Cosmos Labs am 19. August um 19:01 Uhr ET v0.6.2 und v0.7.2, wobei die Release Notes auf „wichtige" Sicherheitsfixes verwiesen. Etwa 20 Stunden später erfolgte der erste Angriff. Der Post-Mortem von MANTRA benennt das Zeitfenster unverblümt: „Zwanzig Stunden waren kein realistisches Zeitfenster, um über 38 unabhängige Validatoren hinweg ein State-breaking-Upgrade zu bewerten, zu bauen, zu testen und zu koordinieren." Etwa 12 Stunden vor dem ersten Diebstahl reichte ein Entwickler bei Push Chain öffentlich eine Code-Änderung ein, die den Exploit-Pfad beschrieb, eine Offenlegung, die Cosmos Labs als „höchst ungewöhnlich" bezeichnete.
Marktauswirkungen
MANTRA verlor 720,9 Millionen MANTRA-Tokens, damals etwa 3,6 Millionen Dollar wert, die aus der Burn-Adresse und einem ruhenden Multisig-Wallet abgezogen wurden. Die Supply-Berichterstattung stieg im selben Umfang, da diese Bestände als nicht ausgebbar ausgeschlossen worden waren. Die Chain stoppte etwa vier Stunden nach dem ersten Diebstahl und nahm rund 30 Stunden später mit der gepatchten Software den Betrieb wieder auf, ohne Rollback, wobei rund 38 Millionen MANTRA in der Wallet des Angreifers eingefroren wurden. MANTRA notierte am Wochenende nahe 0,0043 Dollar, ein Minus von rund 70% seit Jahresbeginn, und befand sich mitten in einer Restrukturierung, die durch einen Übernahme-Deal mit dem Backer Inveniam verkürzt wurde.
TAC verlor am 22. August fast 3 Milliarden Tokens, von denen rund 1,2 Milliarden auf BNB Chain für etwa 950.000 Dollar getauscht wurden.
Häufig gestellte Fragen
-
Welcher Bug ermöglichte es dem Angreifer, Gelder aus sechs Cosmos-EVM-Chains abzuziehen?
Ein Integer-Underflow-Fehler in Cosmos EVM. Das Delegieren von mehr Tokens, als ein Konto hielt, und anschließendes Umkehren der Arithmetik wickelte einen Saldo über null hinaus bis 2^256-1 und erlaubte dem Angreifer, die Tokens eines Zielkontos zu entnehmen, während die Gesamtmenge unverändert blieb.
-
Wie viel wurde gestohlen und welche Chains waren betroffen?
Cosmos Labs beziffert die Gesamtverluste auf rund 5,7 Millionen Dollar über sechs Netzwerke. Genannte Opfer sind MANTRA (ca. 3,6 Millionen Dollar), TAC (ca. 950.000 Dollar verkauft, plus weiteres unverkauft) und KiiChain (ca. 1,6 Millionen Dollar verkauft). Eine weitere Chain ist vermutlich Nesa, die übrigen zwei sind…
-
Warum konnte der Bug-Bounty-Prozess von Cosmos Labs den Exploit nicht verhindern?
Ein Forscher reichte die Schwachstelle am 25. April über das Cosmos-Bug-Bounty-Programm ein. Cosmos-Labs-Tester erklärten, sie könnten sie auf Live-Mainnet-Konfigurationen nicht reproduzieren, und befanden Nutzergelder als nicht gefährdet, sodass der Fix über den stillen, öffentlichen Patch-Prozess statt über eine…
-
Was löste die Angriffe nach der Patch-Veröffentlichung aus?
Cosmos Labs veröffentlichte v0.6.2 und v0.7.2 am 19. August um 19:01 Uhr ET mit generischen Release Notes. Etwa 12 Stunden später reichte ein Push-Chain-Entwickler öffentlich eine Code-Änderung ein, die den Exploit-Pfad beschrieb, und rund 20 Stunden nach dem Patch begann der erste Angriff.
-
Was sind die breiteren Auswirkungen für das Cosmos-Ökosystem?
MANTRA notiert nahe 0,0043 Dollar, ein Minus von rund 70% seit Jahresbeginn, und arbeitet weiterhin an einer Personalrestrukturierung sowie einer Übernahme durch den Backer Inveniam. Cosmos Labs räumte ein, kein vollständiges Register der über 115 öffentlichen Cosmos-Blockchains zu führen und erst während des Vorfalls…
TheBlock