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

Velocore Gebühren-Multiplier-Overflow

Velocores CPMM-Pools auf zkSync und Linea verloren 6,8 Mio. $: Ein Fee-Multiplier-Overflow ließ den Angreifer riesige LP-Supply gegen winzige Auszahlung minten.

Datum
Status
Mittel entwendet

Am 2. Juni 2024 wurde die dezentrale Börse Velocore — bereitgestellt sowohl auf zkSync Era als auch auf Linea — um rund 6,8 Millionen Dollar in ETH durch einen Präzisions-/Overflow-Bug in der Fee-Multiplier-Logik ihres Balancer-artigen CPMM-Pool-Vertrags geleert.

Was geschah

Velocores CPMM-Pools (Constant Product Market Maker) nutzten einen Fee-Multiplier-Parameter, der mit der Größe der Auszahlungen skalierte, um Liquiditäts-Abfluss zu entmutigen. Das beabsichtigte Verhalten: Große Auszahlungen zahlen größere Gebühren.

Der Angreifer fand, dass die Gebührenberechnung keine Obergrenzenprüfung hatte und in unsinnige Werte überlaufen konnte:

  1. Der Angreifer rief velocore__execute() direkt auf und simulierte eine riesige Auszahlung, um den feeMultiplier auf einen künstlich aufgeblähten Wert zu treiben.
  2. Mit gesetztem Multiplier überlief effectiveFee1e9 (der Per-Transaktions-Gebührenparameter, auf 1e9 skaliert) über 100 % hinaus — in Wraparound-Bereich, wo die Mathematik zusammenbrach.
  3. Mit einem Flash Loan initiierte der Angreifer die tatsächliche Auszahlung. Die kaputte Gebühren-Mathematik ließ den Vertrag den Swap-Output falsch berechnen.
  4. Eine anschließende kleine Single-Token-Auszahlung löste einen Underflow anderswo in der Liquiditäts-Token-Mint-Logik aus, was dem Angreifer erlaubte, eine enorm unverhältnismäßige Menge LP-Tokens zu minten.
  5. Der Flash Loan wurde zurückgezahlt, und der Angreifer verschwand mit ~1.807 ETH, die er auf Ethereum Mainnet brückte und über Tornado Cash wusch.

Nachwirkungen

  • Velocore kontaktierte über On-Chain-Nachrichten und bot eine 10%-Whitehat-Bounty; Frist verstrich ohne Antwort.
  • Das Protokoll war zuvor von Zokyo, Hacken und Scalebit auditiert worden — keine davon hatte den Multiplier-Overflow-Pfad markiert.
  • Velocore pausierte Operationen auf zkSync und Linea und wickelte effektiv ab.

Warum es zählt

Velocore ist einer aus einer kleinen Menge von Post-Audit-Exploits, die die Grenzen von Audit-als-Defense-in-Depth hervorheben: Drei seriöse Audit-Firmen prüften den Code, und der Bug wurde trotzdem ausgeliefert. Der wahrscheinliche Grund ist, dass Audit-Scope selten Fuzzing mit beliebigen Integer-Ranges über jede state-mutierende Funktion umfasst — und der spezifische Pfad, der feeMultiplier überlief, war nur durch eine bestimmte Sequenz von simulate + execute-Aufrufen erreichbar, die kein statisches Analysetool markierte.

Die Branchen-Reaktion war, Audits mit ökonomischen Invariantentests (Echidna, Foundry Invariants) zu schichten, die Business-Logik-Eigenschaften unter zufälligen Sequenzen von Aufrufen überprüfen, nicht nur den Standard-Test „revertiert dieser Branch?".

Quellen & On-Chain-Belege

  1. [01]immunebytes.comhttps://immunebytes.com/blog/velocore-finance-exploit-june-2-2024-detailed-analysis/
  2. [02]theblock.cohttps://www.theblock.co/post/298032/decentralized-exchange-velocore-addresses-7-million-hack-in-postmortem-offers-bounty-to-hacker
  3. [03]rekt.newshttps://rekt.news/velocore-rekt/

Verwandte Einträge