Sonne Finance Donation-Attack
Sonne Finance verlor 20 Mio. $ auf Optimism durch eine 'Donation Attack' — ein bekannter Compound-v2-Fork-Exploit in der Lücke zwischen Deploy und Seed.
- Datum
- Opfer
- Sonne Finance
- Chain(s)
- Status
- Mittel entwendet
Am 14. Mai 2024 verlor das Optimism-basierte Lending-Protokoll Sonne Finance rund 20 Millionen Dollar an eine lehrbuchartige „Donation Attack" — eine bekannte Schwachstellenklasse in Compound-v2-Forks, die über ein halbes Dutzend Protokolle hinweg kumulativ über 50 Mio. $ Verluste verursacht hat.
Was geschah
Der Markt-Deployment-Ablauf von Compound v2 hat zwei Schritte:
- Deploye einen neuen Marktvertrag (z. B.
cVELOfür VELO-Sicherheit). - Seede den Markt mit einer initialen Einzahlung, die die Wechselkursrate zwischen dem zugrunde liegenden Token und dem cToken festlegt.
In einer Single-Transaction-Batch-Bereitstellung ist dies sicher. In separate Transaktionen aufgeteilt in einem permissionless Setting ist es exploitbar.
Sonnes Marktauflistungsprozess teilte das Deployment in mehrere Transaktionen auf, um den Governance-Flow zu ermöglichen. Zwischen den beiden Schritten:
- Der Angreifer Flash-borgte 35,5M VELO.
- Sie transferierten VELO direkt an den leeren soVELO-Vertrag (eine „Donation" — kein Minting, nur ein roher Token-Transfer).
totalCashdes soVELO-Vertrags stieg; seintotalSupplyan cTokens blieb null.- Der erste legitime Einzahler — oder der Angreifer selbst — konnte dann ein einziges soVELO einzahlen und mit der gesamten
totalCash-Bilanz gutgeschrieben werden, aufgrund der defekten Wechselkursberechnung in derexchangeRateStored-Funktion des Compound-v2-Forks unter Bedingungen, in denen Supply ungleich null, aber Gesamteinzahlungen null-abgeleitet sind.
Durch Wiederholung des Manövers über mehrere neue Märkte entzog der Angreifer ~20 Mio. $ an Einlagen, bevor Sonnes Team aufholte.
Nachwirkungen
- Sonnes Team erkannte den Exploit etwa 25 Minuten nach der ersten Angriffstransaktion.
- Sie pausierten betroffene Märkte und boten eine 10%-Whitehat-Bounty an. Der Angreifer lehnte ab und wusch über Tornado Cash.
- Sonne Finance wickelte schließlich die Lending-Operationen auf Optimism ab.
Warum es zählt
Der Donation Attack auf Compound-v2-Forks ist seit Jahren im kanonischen Compound-Repository dokumentiert und gepatcht. Jeder Fork, der ohne den integrierten Marktbereitstellungs-Batch ausgeliefert wird — einschließlich Hundred Finance (zweimal), Midas Capital, Onyx Protocol und andere — wurde oder wird durch dasselbe Muster exploitet werden.
Es ist die sauberste Illustration dafür, warum das Forken einer sicherheitsrelevanten Codebasis nicht dasselbe ist wie das Erben ihrer Sicherheit: Forks müssen die Sicherheitspatches des Upstreams und dessen Annahmen zur sicheren Bereitstellung nachverfolgen. Die Kosten des Auslassens dieses Schritts sind in Dollar gut dokumentiert.
Quellen & On-Chain-Belege
- [01]halborn.comhttps://www.halborn.com/blog/post/explained-the-sonne-finance-hack-may-2024
- [02]certik.comhttps://www.certik.com/resources/blog/sonne-finance-incident-analysis
- [03]medium.comhttps://medium.com/@SonneFinance/post-mortem-sonne-finance-exploit-12f3daa82b06