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 № 238Smart-Contract-Bug

Resupply ERC-4626 Donation-Angriff

9,8 Mio. $ aus Resupply in unter 90 Minuten abgezogen, als ein Flash-Kredit über 4.000 $ einen 2 Stunden alten wstUSR-Vault per ERC-4626-Donation ausnutzte.

Datum
Chain(s)
Status
Mittel entwendet

Am 26. Juni 2025 wurde das DeFi-Kreditprotokoll Resupply — integriert mit den Convex- und Yearn-Ökosystemen — in unter 90 Minuten um etwa 9,8 Millionen $ ausgeplündert. Der Angreifer nutzte einen klassischen ERC-4626-Donation-Angriff kombiniert mit einer fehlerhaften Vault-Implementierung. Der Zielvault war erst 2 Stunden zuvor deployt worden und hielt vernachlässigbaren Wert — genau die Bedingungen, die der Donation-Angriff erfordert. Ein Flash-Kredit über 4.000 $ wurde zu einem Millionendiebstahl.

Was geschah

Resupply erlaubte Nutzern, seinen reUSD-Stablecoin gegen verschiedene hinterlegte Vermögenswerte zu leihen. Das Protokoll verwendete ERC-4626-Vault-Tokens, um Nutzereinzahlungen zu repräsentieren — ein Standardmuster, bei dem der Anteilspreis des Vaults als totalAssets / totalSupply berechnet wird.

Der ERC-4626-Donation-Angriff ist eine gut dokumentierte Schwachstellenklasse, die einen kritischen Grenzfall ausnutzt:

  • Wenn ein Vault eine sehr niedrige oder null Gesamtversorgung an Anteilen hat, kann das Spenden von Tokens direkt an den Vault-Vertrag (unter Umgehung der Einzahlungsfunktion) den Anteilspreis massiv aufblähen.
  • Ein Angreifer kann dann einen winzigen Betrag einzahlen, minimale Anteile aufgrund des aufgeblähten Preises erhalten und den Wechselkurs durch Integer-Division auf null manipulieren — was Solvenzprüfungen umgeht, die von Preis-pro-Anteil-Berechnungen abhängen.

Der Angriff:

  1. Zielte auf den wstUSR-Vault — einen neu deployten Resupply-Vault, der erst 2 Stunden live war und im Wesentlichen keinen Wert hielt.
  2. Nahm einen Flash-Kredit über 4.000 $ für das operative Kapital auf.
  3. Spendete Tokens direkt an den wstUSR-Vault und blähte sein totalAssets ohne neue Anteile zu minten.
  4. Die Preis-pro-Anteil-Berechnung des Vaults erreichte Extremwerte — und durch Integer-Divisions-Fehler in der Solidity-Mathematik letztendlich null.
  5. Mit dem Wechselkurs bei null bestanden Resupplys Solvenzprüfungen jede Borrow-Operation — das Protokoll glaubte, die Sicherheit des Angreifers sei unendlich mehr wert als die erzeugte Schuld.
  6. Lieh Millionen reUSD gegen im Wesentlichen ein Wei Sicherheit, tauschte dann reUSD gegen crvUSD und ETH über DEX-Aggregatoren.

Nettodiebstahl: etwa 9,6-9,8 Millionen $. 2.280 ETH wurden innerhalb von Stunden nach dem Drain zu Tornado Cash gebridget.

Folgen

  • Resupply pausierte betroffene Vault-Operationen, als der Exploit erkannt wurde.
  • Das Team veröffentlichte ein Post-Mortem, das den frisch deployten wstUSR-Vault als Einstiegspunkt identifizierte.
  • Keine öffentliche Wiederherstellung — Mittel wurden innerhalb des Tages über Tornado Cash gewaschen.

Warum es wichtig ist

Der Resupply-Vorfall ist einer der saubersten Fälle dafür, warum neu deployte ERC-4626-Vaults kategorisch gefährlich sind. Die Donation-Angriffs-Schwachstelle ist seit mindestens 2021 dokumentiert — OpenZeppelin veröffentlichte explizite Warnungen, Audit-Firmen führen sie auf Standard-Checklisten, und die kanonischen Minderungen (Initial-Dead-Shares-Minting, Virtual-Shares-Offset) sind gut bekannt.

Die Bedingungen, die Resupply verwundbar machten:

  1. Vault deployt ohne schützende Initialeinzahlung — der Angreifer fand den Vault in seinem "leeren" Zustand, in dem Donation-Manipulation mathematisch verheerend ist.
  2. Kein Virtual-Shares-Offset — das Uniswap-V4-/Solady-"Virtual-Shares"-Muster, das gegen Donation-Angriffe härtet, wurde nicht implementiert.
  3. Keine Invarianten-Prüfung zur Deployment-Zeit — das Deployment-Skript des Protokolls säte nicht jeden neuen Vault mit der kleinen Dead-Share-Einzahlung, die den Angriff neutralisiert hätte.

Die strukturelle Lektion ist operativ einfach: Jedes neue ERC-4626-Vault-Deployment muss eine schützende Initialeinzahlung enthalten, idealerweise dauerhaft an eine Burn-Adresse oder DAO-Multi-Sig gesperrt. Die Lösung ist eine Transaktion zur Deployment-Zeit. Das Überspringen kostete Resupply 9,8 Mio. $.

Das Muster wiederholt sich in der DeFi-Geschichte — Hundred Finance, Sonne Finance, Onyx Protocol — und produziert weiterhin Verluste für Protokolle, die Compound-v2-Forks oder ERC-4626-Implementierungen ohne die gut dokumentierten Minderungen ausliefern. Die kumulativen Kosten des Überspringens des Initial-Deposit-Musters liegen mittlerweile gut in den Hunderten von Millionen.

Quellen & On-Chain-Belege

  1. [01]nabilech.comhttps://nabilech.com/resupplyfi-rekt-how-a-4k-flash-loan-led-to-a-9-8m-erc-4626-donation-attack/
  2. [02]halborn.comhttps://www.halborn.com/blog/post/explained-the-resupply-hack-june-2025
  3. [03]decrypt.cohttps://decrypt.co/327148/hacker-drained-9-6-million-from-defi-stablecoin-protocol-resupply

Verwandte Einträge