Enso Finance verliest 5,6 ETH door oracle-fout
Enso Finance is slachtoffer geworden van een aanval waarbij een aanvaller ongeveer 5,6 ETH (ter waarde van ongeveer €14.100) heeft gestolen. De oorzaak lag in een fout bij de prijsberekening van de oracle van het protocol, ontdekte beveiligingsbedrijf SlowMist.
In het kort:
- Een aanvaller buit een oracle-fout uit in de DPI Strategy Vault van Enso Finance
- Door een verkeerde TWAP-berekening wordt een swap 9,2 keer hoger gewaardeerd dan werkelijk
- De aanvaller wisselt 0,683 WETH tegen 268,42 FARM tokens en cashi in op een veel hogere waardering
Fout in de prijsbepaling
Het probleem zat in de manier waarop Enso Finance tokens waardeert in zijn Controller-contract. Wanneer gebruikers fondsen storten in de strategy vault, worden twee valuaties gedaan: voor en nadat de tokens worden overgedragen. Het verschil bepaalt hoeveel aandelen (shares) een gebruiker ontvangt.
De oracle van Enso raadpleegde daarbij een Uniswap V3 pool om de prijs van FARM-tokens vast te stellen. Maar door een configuratiefout werd het registerveld voor transactiekosten gebruikt als parameter voor de Time-Weighted Average Price (TWAP). Dit resulteerde in een veel te korte waarnemingsperiode, waardoor de prijs dicht bij de huidige spotprijs lag in plaats van een gemiddelde over een langere periode.
Aanvaller exploiteert onevenwichtige liquiditeit
De aanvaller profiteerde van het feit dat de Uniswap V3 pool sterk onevenwichtig was. In een enkele transactie wisselde hij 0,683 WETH om in 268,42 FARM-tokens op Uniswap V2. Omdat de V3 pool deze swap echter veel hoger waardeerde dan het werkelijke bedrag, werd deze als veel waardevollere inleg geregistreerd. De pool schat de swap op 6,3 ETH, bijna negen keer meer dan wat werkelijk werd ingewisseld.
Dit zorgde ervoor dat de aanvaller excessief veel aandelen in de vault ontving, die hij vervolgens inloste voor winst. Omdat het protocol geen controles had op de consistentie van TWAP-gegevens of op waarnemingen buiten normale prijsbereiken, kon de exploitatie slagen.
Onderzoek naar zwakke plekken
SlowMist identificeerde meerdere factoren die de aanval mogelijk maakten: het ontbreken van TWAP-validatiechecks, geen validatie van extreem afwijkende prijzen en de afhankelijkheid van een onevenwichtige liquidity pool. De aanvaller is geïdentificeerd als adres 0x3196398321D77a2511d369DCB6eCa9d2aD87b73A. Het gedupeerde strategy-contract had een reserves van ongeveer 5,6 ETH.
Geen financieel advies. Blockchain Stories biedt uitsluitend educatieve en informatieve content. Crypto assets zijn zeer volatiel en je kunt je volledige inleg verliezen. Doe altijd je eigen onderzoek. Lees onze volledige disclaimer.
Affiliate vermelding. Sommige links op deze site zijn partner/affiliate links. Als je je via zo'n link aanmeldt bij een partner, ontvangen wij mogelijk een commissie, zonder extra kosten voor jou. Dit beïnvloedt nooit onze berichtgeving. Lees onze redactionele richtlijnen.