Om det är något vi vet så är det att inget DeFi-protokoll eller plattform är 100 % säkert. Den 9 juli hackades @GMX_IO Exchange V1 för 42 miljoner dollar. Här är vår uppdelning nedan från @Blackthornxyz:s Lead Security Partner-@panprog (inklusive en viktig lektion för utveckling av smarta kontrakt) 👇🔎
Roten till exploateringen var en återinträdessårbarhet i GMX smarta kontrakt, särskilt inom PositionManager.executeDecreaseOrder.
Attacken ⚔️ : Från OrderBook.executeDecreaseOrder skickades vinsten (i ETH) direkt till användaren. Detta utlöste mottagarkontraktets receive()-funktion innan timelock.disableLeverage() anropades.
Den funktionen är avsedd att förhindra direkta Vault-anrop genom att inaktivera hävstångseffekten, men på grund av dess fördröjda anrop kunde angriparen kringgå den.
I den här återinträdeskontexten anropade angriparen valvet direkt för att manipulera korta positioner. En kritisk rad i PositionManager - ansvarig för att uppdatera ShortsTracker.globalShortAveragePrices - hoppades över.
Som ett resultat av detta kunde angriparen artificiellt blåsa upp Vault.globalShortSizes utan att uppdatera det genomsnittliga korta priset, vilket ledde till felaktiga AUM-beräkningar och blåste upp GLP-priset.
Stölden av 42 miljoner dollar💰: Angriparen köpte först GLP till ett lägre pris, blåste sedan upp det med återinträdesloopar och sålde sedan tillbaka GLP:en till valvet till ett uppblåst pris. Detta tömde nästan alla tokens som fanns i valvet. Totalt drag: $42 miljoner i ETH, BTC, USDC och mer.
Efterdyningarna? 1) GMX stoppade all handel, prägling och inlösen för GLP på Arbitrum och Avalanche. 2) GMX V2 och andra protokollkomponenter påverkades inte. 3) Angriparen erbjöds en 10% white-hat bounty (ca 4,2 miljoner dollar) om pengarna returnerades inom 48 timmar.
När det här inlägget skrivs har hackaren börjat returnera pengar till GMX-teamet efter att ha förhandlat fram en utbetalning 🙌. Som säkerhetspartner med GMX som börjar med sin V2 har vi hjälpt till med denna situation och är glada att höra detta. Vi ser fram emot att fortsätta arbeta med GMX i framtiden.
Lektionerna 🎓: ✅ Se till att det inte är möjligt att återinträda, även om det ser ofarligt ut - Till en början tillät GMX v1 användare direkt interaktion med valvet... Som sådan verkade möjligheten att interagera med valvet direkt inte farlig för många.
✅ Se till att det finns rimlighetskontroller för snabb förändring av värde, t.ex. token- eller aktiekurser: återställ utförandet om priset på någon tillgång (som GLP i det här fallet) ändras mer än en viss procentsats under en kort tidsperiod.
✅ Se till att det finns strikt övervakning utanför kedjan för alla misstänkta mönster, eventuellt automatiskt stoppa handeln i extrema situationer. Till exempel, om GLP-priset ligger utanför ett fördefinierat intervall vid någon tidpunkt, stoppa verksamheten omedelbart för att undersöka.
Kolla in vår blogg för hela rapporten 👇
Visa original
4,99 tn
39
Innehållet på den här sidan tillhandahålls av tredje part. Om inte annat anges är OKX inte författare till den eller de artiklar som citeras och hämtar inte någon upphovsrätt till materialet. Innehållet tillhandahålls endast i informationssyfte och representerar inte OKX:s åsikter. Det är inte avsett att vara ett godkännande av något slag och bör inte betraktas som investeringsrådgivning eller en uppmaning att köpa eller sälja digitala tillgångar. I den mån generativ AI används för att tillhandahålla sammanfattningar eller annan information kan sådant AI-genererat innehåll vara felaktigt eller inkonsekvent. Läs den länkade artikeln för mer detaljer och information. OKX ansvarar inte för innehåll som finns på tredje parts webbplatser. Innehav av digitala tillgångar, inklusive stabila kryptovalutor och NFT:er, innebär en hög grad av risk och kan fluktuera kraftigt. Du bör noga överväga om handel med eller innehav av digitala tillgångar är lämpligt för dig mot bakgrund av din ekonomiska situation.