Back to Blog

#2: Euler Finance Vorfall: Der größte Hack 2023

Code Auditing
February 9, 2024
5 min read

Am 13. März 2023 stellte unser System fest, dass der Kreditpool von Euler Finance einem Flashloan-Angriff ausgesetzt war, was zu einem Verlust von 197 Millionen US-Dollar führte. Wir informierten zunächst die Community und lieferten dann eine Analyse, um die Grundursache zu identifizieren.

Die Grundursache dieses Vorfalls ist die fehlende Insolvenzprüfung in der Funktion donateToReserves(). Speziell bietet der anfällige Vertrag eine Funktionalität, mit der Benutzer ihre Sicherheiten dem Protokoll spenden können, ohne zu prüfen, ob die Position des Benutzers solvent war. Was noch schlimmer ist: Um diese schlechte Position loszuwerden, bot das Protokoll Liquidatoren einen großen Rabatt an, um weniger Schulden zu zahlen, um diese Position zu liquidieren. Der Angreifer erstellte eine große Position und machte diese Position durch Ausnutzung dieser Funktionalität insolvent. Dann konnte er seine Sicherheiten mit Rabatt kaufen, um Gewinn zu erzielen.

Hintergrund

Überblick über Euler Finance

Euler Finance ist ein Kreditprotokoll auf Ethereum, das es Benutzern ermöglicht, bestimmte Token zu verleihen und auszuleihen. Wenn Kreditgeber in den Liquiditätspool von Euler einzahlen, wird eine entsprechende Menge an ETokens (zinsbringende ERC20-Token) geprägt und an sie gesendet. Diese ETokens können gegen ihre hinterlegten Basiswerte eingelöst werden.

Auf der anderen Seite erhalten Kreditnehmer, die Liquidität aufnehmen, DTokens. Diese DTokens sind ERC20-konform und hindern die Inhaber daran, sie unabhängig zu verbrennen. Insbesondere anstatt Token an jeden senden zu lassen, können sie von jedem genommen werden, die Annahme erfordert jedoch eine Genehmigung. In Bezug auf den Basiswert sind die Kreditnehmer für die Zahlung von Zinsen auf ihre Kredite verantwortlich, und ein Teil dieser Zinsen wird zur Deckung von Forderungsausfällen im Protokoll verwendet.

Der Hebelkredit (auch bekannt als Self-Borrow) und die Soft-Liquidation-Mechanismen von Euler Finance sind zwei Schlüsselkonzepte, die uns helfen, die Ursache dieses Angriffs besser zu verstehen.

Hebelkredit

Euler Finance bietet eine Hebelkreditfunktion, die es Benutzern ermöglicht, eine rekursive Kreditstrategie zu simulieren. Einfach ausgedrückt können Benutzer Sicherheiten hinterlegen und ETokens prägen, die dann als Sicherheit verwendet werden können, um mehr ETokens zu leihen. Der Vertrag wird auch eine entsprechende Menge an dTokens als Schulden-Token prägen. Die Gesundheit der Position des Benutzers wird auf Basis der Werte der ETokens und dTokens berechnet. Laut der Dokumentation von Euler Finance können Benutzer bis zu 19x hebeln. Die Hebelkreditfunktion spielte bei diesem Vorfall eine entscheidende Rolle. Ohne die Hilfe dieser Funktion hätte der Angreifer keinen Gewinn erzielen können. Durch Hebelkredite hat der Angreifer seine Positionsgröße auf fast das 11-fache der anfänglichen Mittel aus dem Flashloan erhöht.

Soft-Liquidation

Wie im Whitepaper von Euler Finance dargelegt, ermöglicht der Soft-Liquidation-Mechanismus Liquidatoren, der liquidierten Partei bei der Rückzahlung ihrer Schulden flexibel zu helfen, anstatt wie bei Protokollen wie Compound und Aave an einen festen Liquidationskoeffizienten gebunden zu sein. Soft-Liquidation bedeutet, dass je geringer die Gesundheit einer Position ist, desto mehr Sicherheiten für die Liquidation in Frage kommen – bis zu 75 % im Falle von Forderungsausfällen, basierend auf Daten aus diesem Vorfall. Die Liquidation von stark rabattierten Sicherheiten ermöglichte es dem Angreifer daher, den Flashloan zu begleichen und einen Gewinn zu erzielen.

Schwachstellenanalyse

Die Hauptschwachstelle, nämlich die fehlende Insolvenzprüfung, besteht innerhalb der Funktion donateToReserves(), die von Benutzern verwendet wird, um ETokens aus ihren Positionen als Spenden an die Reserven des Protokolls zu übertragen. Für normale Benutzer gibt es typischerweise keinen Anreiz oder keine Motivation, eine solche Aktion durchzuführen. Tatsächlich liegt die Schwachstelle darin, dass die Funktion donateToReserves() beim Übertragen von ETokens aus Benutzerpositionen keine Gesundheitsprüfung durchführt. Dies ermöglicht es Angreifern, die ETokens aus der durch Hebelkredite erstellten großen Position direkt zu spenden, wodurch der Gesundheitsfaktor der Position unter 100 % fällt und es zu Forderungsausfällen kommt.

Laut Design verwendet Euler Finance einen dynamischen Closing-Faktor, um Positionen "soft zu liquidieren". Kurz gesagt: Je weniger gesund eine Position ist, desto höher ist der Anteil der Sicherheiten in dieser Position, der liquidiert werden kann. Im Falle von Forderungsausfällen kann der Liquidationsprozentsatz bis zu 75 % der Sicherheiten innerhalb der Position betragen (berechnet auf Basis der tatsächlichen Angriffstransaktion). Infolgedessen ermöglicht die erhebliche Menge an rabattierten Sicherheiten, die liquidiert werden, dem Angreifer, den Flashloan zurückzuzahlen und Gewinne zu erzielen.

Angriffsanalyse

Es gibt mehrere Angriffstransaktionen, die sich auf verschiedene Pools richten:

  • 0xc310a0affe2169d1f6feec1c63dbc7f7c62a887fa48795d327d4d2da2d6b111d (DAI)
  • 0x71a908be0bef6174bccc3d493becdfd28395d8898e355d451cb52f7bac38617 (WBTC)
  • 0x62bd3d31a7b75c098ccf28bc4d4af8c4a191b4b9e451fab4232258079e8b18c4 (wstETH)
  • 0x465a6780145f1efe3ab52f94c006065575712d2003d83d85481f3d110ed13d9 (USDC)
  • 0x3097830e9921e4063d334acb82f6a79374f76f0b1a8f857e89b89bc58df1f311 (stETH)
  • 0x47ac3527d02e6b9631c77fad1cdee7bfa77a8a7bfd4880dccbda5146ace4088f (WETH)

Die Angriffsschritte sind wie folgt (am Beispiel der ersten Angriffstransaktion):

  1. Der Angreifer borgte sich 30 Millionen DAI in AAVE über einen Flashloan.
  2. Der Angreifer hinterlegte 20 Millionen DAI und erhielt 20 Millionen eDAI zurück.
  3. Da Euler Finance die Hebelkreditfunktion bietet, konnte der Angreifer 195 Millionen eDAI und 200 Millionen dDAI prägen. Nun hält der Angreifer 215 Millionen eDAI und 200 Millionen dDAI.
  4. Fortsetzung von oben. 10 Millionen Schulden wurden zurückgezahlt, damit der Angreifer mehr eDAI prägen konnte. Nun hält der Angreifer 215 Millionen eDAI und 190 Millionen dDAI.
  5. Schritt 3 wurde wiederholt. Nun hält der Angreifer 410 Millionen eDAI und 390 Millionen dDAI.
  6. Der Angreifer rief die Funktion donateToReserve auf, um 100 Millionen eDAI zu spenden. Während dieses Vorgangs wurde jedoch der Gesundheitsfaktor des Angreifers nicht überprüft. In diesem Fall kann die Position nun liquidiert werden (310 Millionen eDAI gegenüber 390 Millionen dDAI), was die Möglichkeit gibt, Gewinn zu erzielen.
  7. Der Angreifer liquidierte die Position unter Verwendung eines anderen Adressvertrags als Liquidator (0xa0b3...). Der Liquidator (0xa0b3...) erhielt 310 Millionen eDAI und 259 Millionen dDAI.
  8. Der Angreifer verbrannte 38,9 Millionen eDAI, um 38,9 Millionen DAI abzuheben (konnte aufgrund von Insolvenzprüfungen nicht mehr abheben) aus der Position des Liquidators (0xa0b3...).
  9. Der Angreifer hat den Flashloan zurückgezahlt.

Die wichtigsten Angriffsschritte 2-7 sind in der Transaktionsverfolgung gekennzeichnet.

Zusammenfassung

Dies war der größte Hack des Jahres 2023 mit einem Rekord von 197 Millionen US-Dollar, die von einem 20-jährigen Argentinier namens Federico Jaime gestohlen wurden, der der Presse "eine verschlungene, manchmal verwirrende und sogar widersprüchliche Erzählung" lieferte. Dennoch wurden "alle wiederherstellbaren Gelder" später an die Schatzkasse von Euler Finance zurückgegeben. Ein kleiner Teil (rund 200.000 US-Dollar) wurde jedoch "unwissentlich" an die Lazarus-Gruppe gesendet – ein mutmaßliches staatlich unterstütztes nordkoreanisches Verbrechersyndikat, das vom US-Finanzministerium sanktioniert wurde. Weitere Informationen zu dieser detaillierten und interessanten Geschichte finden Sie unter diesen Links, z. B. link2 und link2.

Die Grundursache dieses Vorfalls war das Fehlen von Insolvenzprüfungen, was als Lektion dient. Tatsächlich ist es für ein Kreditprotokoll von entscheidender Bedeutung, zu prüfen, ob Positionsgesundheitsprüfungen für alle Verfahren implementiert werden sollten, die die Positionen der Benutzer beeinträchtigen könnten. Darüber hinaus sollten Projektteams ihre Kreditprotokolle proaktiv auf erhebliche Liquidationen überwachen und effektive Warnsysteme einrichten, um solche Ereignisse umgehend zu erkennen und darauf zu reagieren.

Weitere Artikel in dieser Reihe lesen:

Sign up for the latest updates
~$15.9M Lost: Trusted Volumes & More | BlockSec Weekly
Security Insights

~$15.9M Lost: Trusted Volumes & More | BlockSec Weekly

This BlockSec bi-weekly security report covers 11 notable attack incidents identified between April 27 and May 10, 2026, across Sui, Ethereum, BNB Chain, Base, Blast, and Berachain, with total estimated losses of approximately $15.9M. Three incidents are analyzed in detail: the highlighted $1.14M Aftermath Finance exploit on Sui, where a signed/unsigned semantic mismatch in the builder-fee validation allowed an attacker to inject a negative fee that was converted into positive collateral during settlement; the $5.87M Trusted Volumes RFQ authorization mismatch on Ethereum; and the $5.7M Wasabi Protocol infrastructure-to-contract-control compromise across multiple EVM chains.

Newsletter - April 2026
Security Insights

Newsletter - April 2026

In April 2026, the DeFi ecosystem experienced three major security incidents. KelpDAO lost ~$290M due to an insecure 1-of-1 DVN bridge configuration exploited via RPC infrastructure compromise, Drift Protocol suffered ~$285M from a multisig governance takeover leveraging Solana's durable nonce mechanism, and Rhea Finance incurred ~$18.4M following a business logic flaw in its margin-trading module that allowed circular swap path manipulatio

~$7.04M Lost: GiddyDefi, Volo Vault & More | BlockSec Weekly
Security Insights

~$7.04M Lost: GiddyDefi, Volo Vault & More | BlockSec Weekly

This BlockSec weekly security report covers eight attack incidents detected between April 20 and April 26, 2026, across Ethereum, Avalanche, Sui, Base, HyperLiquid, and MegaETH, with total estimated losses of approximately $7.04M. The highlighted incident is the $1.3M GiddyDefi exploit, where the attacker did not break any cryptography or use a flash loan but simply replayed an existing on-chain EIP-712 signature with the unsigned `aggregator` and `fromToken` fields swapped out for a malicious contract, demonstrating how partial signature coverage turns any historical signature into a generic permit. Other incidents include a $3.5M Volo Vault operator key compromise on Sui, a $1.5M Purrlend privileged-role takeover, a $413K SingularityFinance oracle misconfiguration, a $142.7K Scallop cross-pool index injection, a $72.35K Kipseli Router decimal mismatch, a $50.7K REVLoans (Juicebox) accounting pollution, and a $64K Custom Rebalancer arbitrary-call exploit.

Best Security Auditor for Web3

Validate design, code, and business logic before launch. Aligned with the highest industry security standards.

BlockSec Audit