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

zkLend Präzisions-Rounding

9,5 Mio. $ aus zkLend auf Starknet abgezogen über einen Präzisions-Rounding-Bug in safeMath; wiederholtes Rounding blähte raw_balance bis Pools leer.

Datum
Opfer
zkLend
Chain(s)
Status
Mittel entwendet

Am 12. Februar 2025 wurde das Starknet-basierte Lending-Protokoll zkLend um rund 9,5 Millionen Dollar durch einen Präzisions-/Rounding-Bug in seiner safeMath-Library geleert. Der Angreifer iterierte einen kleinen Rounding-Bias, bis er zu einem vollständig synthetischen Saldo wurde, groß genug, um jeden Pool zu leeren. zkLend erholte sich nie und stellte den Betrieb im Juni 2025 ein.

Was geschah

Starknets Cairo-Sprache drückt Fließkomma-Arithmetik nicht nativ aus; Protokolle implementieren ihre eigenen Fixed-Point-Math-Libraries. zkLends safeMath führte direkte Division durch, die bei jeder Operation abrundete. Einmal benutzt, ist der Rounding-Verlust unsichtbar. Tausende Male gegen das richtige Zustands-Update-Muster wiederholt, wurde er zu einem nutzbaren Exploit compoundbar.

Der Angriff iterierte eine Berechnung, die ein raw_balance-Feld berührte, das intern zur Buchhaltung verwendet wurde. Jede Iterations-Rundung verursachte, dass das Feld um winzige Inkremente nach oben driftete. Nach genug Iterationen war der raw_balance des Angreifers künstlich auf 1724 aufgebläht worden — weit über jeder legitimen Einzahlung.

Die Einlöse-Funktion konvertierte dann den aufgeblähten raw_balance in einen Abhebungsanspruch gegen zkLends Pools. Jeder Pool wurde durch die Einlösung geleert.

Nachwirkungen

  • zkLend bot dem Angreifer eine 10%-Bounty und Freistellung von Haftung an, wenn die verbleibenden 3.300 ETH innerhalb von 48 Stunden zurückgegeben würden. Deadline verstrich.
  • Der Angreifer brückte gestohlene Mittel nach Ethereum und versuchte, über Railgun zu waschen — Railguns Protokoll-Richtlinien gaben die Mittel automatisch an die Ursprungsadresse zurück und fingen den Angreifer kurzzeitig. Sie bewegten die Mittel schließlich über Tornado Cash und andere Routen.
  • zkLend öffnete Lending-Operationen nie wieder. Das Protokoll schloss formal im Juni 2025, vier Monate nach dem Exploit.

Warum es zählt

zkLend bekräftigte zwei Lehren, die sich in der DeFi-Exploit-Geschichte wiederholen:

  1. Fixed-Point-Math-Libraries, die von Grund auf für neue VMs geschrieben werden, sind eine Frontier-Schwachstellenoberfläche. Dieselbe Bug-Klasse erschien später 2025 bei Cetus auf Sui und 2023 bei KyberSwap auf EVM. Neue Chains neigen dazu, neue Math-Libraries auszuliefern, die nicht gegen die volle Angriffsfläche ihrer EVM-Vorgänger gehärtet wurden.

  2. Ein einzelner mittelgroßer Exploit kann für ein Protokoll tödlich sein. Wo größere Protokolle 10-20-Mio.-$-Verluste durch governance-vermittelte Erstattung absorbieren und weiter operieren, können mittelgroße Protokolle das oft nicht. Die Kosten eines einzelnen Bugs sind nicht nur der Verlust — sie sind die fortgesetzte Existenz des Protokolls.

Quellen & On-Chain-Belege

  1. [01]halborn.comhttps://www.halborn.com/blog/post/explained-the-zklend-hack-february-2025
  2. [02]decrypt.cohttps://decrypt.co/305590/defi-lending-platform-zklend-9-million-exploit
  3. [03]thedefiant.iohttps://thedefiant.io/news/defi/starknet-based-zklend-shuts-down-amid-fallout-from-usd10-million-exploit

Verwandte Einträge