Zum Inhalt springen
Gegr. MMXXVIBd. VI · № 273RSS
Blockchain Breaches

Ein Archiv von Sicherheitsvorfällen im Kryptobereich — Hacks, Exploits, Bridge-Ausfälle und Rug Pulls, dokumentiert mit On-Chain-Belegen.

Dossier № 100Bridge-Exploit

Nomad Bridge Drain

Ein routinemäßiges Upgrade markierte den Zero-Hash als gültigen Root, was jede Nomad-Nachricht zu einer kopierbaren Abhebung machte.

Datum
Opfer
Nomad
Status
Teilweise zurückerlangt

Am 1. August 2022 wurde die Nomad-Bridge um rund 190 Mio. $ in dem ausgeplündert, was sofort als der erste "dezentralisierte Hack" bekannt wurde — sobald der Exploit öffentlich war, schlossen sich Hunderte von Adressen an, indem sie die ursprüngliche Transaktion per Copy-Paste übernahmen und den Empfänger änderten.

Was geschah

Der Replica-Vertrag von Nomad prüfte, ob der Merkle-Root einer Nachricht zuvor akzeptiert worden war, bevor er eine Abhebung erlaubte. Ein routinemäßiges Upgrade initialisierte den Vertrag mit einem committedRoot von 0x00 — aber der Codepfad, der akzeptierte Roots prüfte, behandelte den Nullwert als "bereits akzeptiert" statt "nicht initialisiert".

Das Ergebnis: Jede Nachricht, deren Merkle-Root nach Hashing zu 0x00 aufgelöst wurde, war gültig. Durch Manipulation der Blätter konnte ein Angreifer eine Nachricht erstellen, die beliebige Tokens abhob. Der ursprüngliche Angreifer nutzte dies, um WBTC abzuziehen.

Die Transaktion war einfach genug, dass jeder, der sie auf Etherscan sah, die Empfängeradresse in calldata ändern und erneut senden konnte und so den nächsten verfügbaren Token-Batch abhob. Hunderte von Adressen taten dies in den nächsten Stunden.

Folgen

  • Nomad bat alle Teilnehmer, Mittel an eine Wiederherstellungsadresse zurückzugeben. Ein bedeutender Anteil wurde zurückgegeben — insbesondere von Adressen, die eindeutig opportunistisch eingestiegen waren.
  • Die Bridge wurde mit ordnungsgemäßer Root-Validierung neu aufgebaut und betrieb weiter in reduzierter Kapazität.

Warum es wichtig ist

Nomad ist das kanonische Beispiel dafür, wie ein Ein-Zeichen-Bug (0 versus nonzero in einer einzigen Bedingung) katastrophale Verluste produziert. Es zeigte auch, wie sich in einer offenen Mempool ein Exploit, der keine Raffinesse erfordert, innerhalb von Minuten auf Tausende nicht zusammenhängender Teilnehmer ausbreitet.

Quellen & On-Chain-Belege

  1. [01]medium.comhttps://medium.com/nomad-xyz-blog/nomad-bridge-incident-update-aug-1-2022-66e85b3bf4f0
  2. [02]halborn.comhttps://www.halborn.com/blog/post/the-nomad-bridge-hack-a-deeper-dive

Verwandte Einträge