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 № 123Reentrancy

dForce Curve Read-Only-Reentrancy

Curve Read-Only-Reentrancy auf remove_liquidity zog 3,65 Mio. $ aus dForces wstETH/ETH-Pool auf Arbitrum und Optimism ab. White Hat gab alles zurück.

Datum
Status
Zurückerlangt

Am 10. Februar 2023 verlor das Lending-Protokoll dForce Network rund 3,65 Millionen $ durch eine Curve-Read-Only-Reentrancy-Attacke auf seine wstETH/ETH-Pool-Integration auf Arbitrum und Optimism. Der Angreifer — der sich später als White-Hat zu erkennen gab — gab die vollen 3,65 Mio. $ gegen ein Bounty zurück.

Was geschah

dForce nutzte Curve Finance wstETH/ETH-Pools als Preisquelle für seine Lending-Märkte auf Arbitrum und Optimism. Die Integration las Curves gemeldeten Virtual Price für die LP-Tokens des Pools, um Nutzer-Collateral zu bewerten und Liquidationen auszulösen.

Die Schwachstelle lag im gut dokumentierten Curve-Read-Only-Reentrancy-Muster. Curves remove_liquidity-Funktion führt eine Sequenz aus State-Mutationen und externen Aufrufen aus — und zwischen den Mutationen ist der vom Pool gemeldete Virtual Price zeitweise inkorrekt. Ein Contract, der den Virtual Price in dieser Lücke liest, erhält einen manipulierten Wert, ohne dass einer der expliziten Reentrancy-Guards auslöst.

Der Angriff:

  1. Flash-borgte stETH (und verwandte Assets), um die Operation zu finanzieren.
  2. Deponierte und entfernte teilweise Liquidität aus dem relevanten Curve wstETH/ETH-Pool.
  3. Während der remove_liquidity-Ausführung — konkret in der Lücke zwischen zwei State-Mutationen — re-entered in die Lending-Contracts von dForce.
  4. dForces Preis-Lese-Code konsumierte Curves Mid-Mutation-Virtual-Price, der zeitweise gedrückt war.
  5. Da dForce glaubte, der wstETH/ETH-LP-Preis sei eingebrochen, erschienen Positionen anderer Nutzer unterbesichert und der Angreifer löste Liquidationen zu günstigen Konditionen aus.
  6. Zahlte den Flash Loan zurück und verschwand mit rund 3,65 Mio. $ Gewinn über beide Chains.

Folgen

  • dForce pausierte betroffene Märkte innerhalb von Stunden.
  • Der Angreifer identifizierte sich öffentlich als White-Hat via On-Chain-Nachrichten und trat in Verhandlungen mit dem dForce-Team.
  • Nach Einigung über eine Bounty-Zahlung und Einstellung etwaiger Ermittlungen wurden alle 3,65 Mio. $ an die dForce-Multi-Sig zurückgegeben.
  • dForce redesignte die Curve-Integration mit ordentlichen, read-only-reentrancy-bewussten Preisabfragen.

Warum es wichtig ist

Der dForce-Vorfall ist Teil der Curve-Read-Only-Reentrancy-Linie — ein Schwachstellen-Muster, das seit der breiten Verständigung über Curves remove_liquidity-Semantik immer wieder DeFi-Verluste produziert:

  • Lendf.Me (Apr. 2020) — ursprüngliche Curve-Reentrancy-Variante.
  • dForce (Feb. 2023) — Read-Only-Reentrancy auf wstETH/ETH-Pool.
  • Conic Finance (Juli 2023) — Fehlender _isETH()-Check; dieselbe zugrunde liegende Bug-Klasse.
  • Mehrere kleinere Vorfälle bei Protokollen, die Curve-Orakel integrieren.

Die strukturelle Lektion ist die seit Jahren wiederholte: Jedes Protokoll, das den internen State eines Curve-Pools liest, muss das Read-Only-Reentrancy-Fenster explizit behandeln. Curve hat Guidance veröffentlicht, wie sicher integriert werden kann; Protokolle, die ihr nicht folgen — typischerweise weil der relevante Code vor der Guidance geschrieben und nie aktualisiert wurde —, bleiben Exploit-Kandidaten.

Auch die White-Hat-Rückgabe ist instruktiv. dForces Vorfall ist einer aus einer wachsenden Zahl von Fällen, in denen Angreifer sich identifizieren und offen verhandeln — wahrscheinlich weil:

  1. On-Chain-Forensik ausreichend verbessert wurde, sodass das Waschen eines klar identifizierten Exploits riskant ist.
  2. Bounty-Programme großer Protokolle relevante Auszahlungen ohne den rechtlichen und operativen Aufwand des Waschens bieten.
  3. Das White-Hat-Framing rechtlichen Schutz bietet, den die Alternative nicht hat.

Für Protokoll-Teams hat sich gutgläubiges Verhandeln mit einem Exploiter als der Pfad mit der höchsten Wiederherstellungsquote für mittelgroße Vorfälle herausgestellt. Das dForce-Muster mit 3,65 Mio. $ / 100 % Wiederherstellung / verhandeltem Bounty ist nach 2023 in der DeFi-Vorfall-Landschaft zu einem kleinen eigenen Genre geworden.

Quellen & On-Chain-Belege

  1. [01]halborn.comhttps://www.halborn.com/blog/post/explained-the-dforce-hack-february-2023
  2. [02]theblock.cohttps://www.theblock.co/post/210518/dforce-protocol-drained-of-3-6-million-in-reentrancy-attack
  3. [03]certik.comhttps://www.certik.com/resources/blog/curve-conundrum-the-dforce-attack-via-a-read-only-reentrancy-vector-exploit

Verwandte Einträge