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 № 229Oracle-Manipulation

KiloEX Orakel-Forwarder-Bypass

7,5 Mio. $ aus KiloEX-Perps auf Base, opBNB und BSC abgezogen: MinimalForwarder übersprang Signatur-Checks; Positionen bei 100 $ auf, bei 10.000 $ geschlossen.

Datum
Opfer
KiloEX
Status
Mittel entwendet

Am 15. April 2025 wurde die Binance-gestützte Perpetuals-DEX KiloEX um rund 7,5 Millionen $ über drei Chains exploitet. Der Exploit verlief als lehrbuchhafter Orakel-Manipulations-Angriff — Position zu einem Preis öffnen, zu einem völlig anderen Preis schließen — ermöglicht durch einen Access-Control-Bug im MinimalForwarder-Contract des Protokolls, der jedem Aufrufer erlaubte, beliebige signierte Preis-Updates einzureichen.

Was geschah

KiloEX nutzte einen benutzerdefinierten Preis-Update-Flow, der von OpenZeppelins MinimalForwarderUpgradeable geerbt war — ein Contract, der Nutzern erlauben soll, Meta-Transaktionen im Namen eines Signers auszuführen, der den Aufruf kryptographisch autorisiert hat. Die execute()-Funktion sollte:

  1. Die Signatur der Meta-Transaktionsanfrage gegen die übergebenen Daten verifizieren.
  2. Den Aufruf nur weiterleiten, wenn die Signatur einem autorisierten Signer entspricht.

KiloEX' angepasster MinimalForwarder verifizierte Signaturen nicht ordnungsgemäß gegen die übergebenen Daten — die Validierungslogik war strukturell vorhanden, band die Signatur aber nicht an die tatsächliche Payload des Aufrufs. Jeder Aufrufer konnte eine Preis-Update-Anfrage einreichen, die behauptete, von einem autorisierten Orakel signiert zu sein, und der Contract akzeptierte sie.

Sobald der Angreifer beliebige Preise an KiloEX' Orakel pushen konnte:

  1. Öffnete eine Perpetuals-Long-Position auf ETHUSD zu einem vom Orakel gemeldeten Preis von 100 $.
  2. Schloss dieselbe Position sofort zu einem vom Orakel gemeldeten Preis von 10.000 $ — ein 100×-Sprung in einer einzigen Transaktion.
  3. Ging mit der Differenz und erzielte 3,12 Millionen $ in einer einzigen Base-Transaktion.

Wiederholt über Chains: rund 3,3 Mio. $ auf Base, rund 3,1 Mio. $ auf opBNB, rund 1 Mio. $ auf BSC.

Folgen

  • KiloEX suspendierte den Betrieb und bot dem Angreifer eine 750K-$-Bounty (10 % des Ertrags) plus Freistellung von rechtlicher Haftung für Rückgabe der verbleibenden 90 % an.
  • Das Team blacklistete die Adressen des Angreifers und arbeitete mit Binance-affiliierten Forensik-Firmen, um die Gelder zu verfolgen.
  • Der Betrieb blieb für längere Zeit suspendiert, während das Team den Meta-Transaktions-Flow neu auditierte.

Warum es wichtig ist

KiloEX ist eine ungewöhnlich reine Fallstudie dafür, warum das Upgraden oder Anpassen battle-tested OpenZeppelin-Contracts hochriskantes Terrain ist. Der originale MinimalForwarder ist ein gut geprüftes Primitive mit umfangreicher Test-Abdeckung; die von KiloEX eingeführte Anpassung — um zu ihrem Orakel-Update-Flow zu passen — brach die Sicherheits-Garantie auf eine Weise, die für Standard-Audit-Checklisten nicht sichtbar war.

Die strukturelle Lektion: Von einem vertrauenswürdigen Base-Contract zu erben ist nicht dasselbe wie seine Sicherheit zu erben. Jedes Override einer sicherheits-kritischen Funktion (Signatur-Verifikation, Access Control, Replay-Schutz) muss re-auditiert werden, als wäre es eine frische Implementierung — denn funktional ist es eine.

Quellen & On-Chain-Belege

  1. [01]halborn.comhttps://www.halborn.com/blog/post/explained-the-kiloex-hack-april-2025
  2. [02]coindesk.comhttps://www.coindesk.com/markets/2025/04/15/dex-kiloex-loses-usd7m-in-apparent-oracle-manipulation-attack
  3. [03]decrypt.cohttps://decrypt.co/314827/binance-backed-dex-kiloex-suspends-operations-following-7-5-million-exploit

Verwandte Einträge