ICON replay exploit parašus pakartotinai panaudoja 1 490 kartų
Pasak ICON fondo, rugpjūčio 27 d. ICON pakartojimo išnaudojimas atleido 119 866 000 ICX ir 531 600 mlrd. USD iš fondo turimo turto po to, kai du teisėti išėmimo pranešimai buvo pakartotinai panaudoti 1 492 kartus. Rugpjūčio 30 d. po mirties buvo pranešta, kad 1 490 skambučių buvo sėkmingi, tačiau nebuvo pasiekta jokių vartotojų indėlių, likučių ar pozicijų.
Antraštės dydžio ICX leidimas nėra tas pats, kas patvirtintas praradimas. Iki šiol ICON grynasis nuostolis yra apie 150,2 ETH plius 31 204 USDC, o didžioji dalis ICX buvo atsekta, užšaldyta ir aktyviai atsigauna. Fondas teigė, kad bnUSD ir SODA buvo visiškai susigrąžinti, tačiau biržoje laikomos sumos tebėra peržiūrimos. Šis skirtumas yra svarbus, nes ICON negavo tikslių keitimo duomenų apie tai, kiek ICX buvo laikoma, konvertuota ar išimta.
Defektas leido užpuolikui pakeisti dalį pašalinimo identifikatoriaus nekeičiant tikrinamo pasirašyto naudingojo krovinio. ICON atsekė neatitikimą dėl pakeitimo, skirto standartizuoti 32 baitų išėmimo pranešimus, kurie dalį serijos numerio nukreipė per float64 diapazono logiką, o ne tikslią sveikųjų skaičių aritmetiką.
Dėl to sutarties unikalumo patikrinimas apėmė didelius bitus, kuriuos užpuolikas galėjo skirti, o kriptografinis patikrinimas apėmė nepakitusius žemus 256 bitus. Pasirašyta naudingoji apkrova ir parašas išliko identiški kiekviename pakartojimo rinkinyje, tačiau dėl pakeistos nepasirašytos dalies skambučiai atrodė unikalūs. Du skambučiai sugrįžo; kiekvienam sėkmingam skambučiui buvo įskaityta ta pati perdavimo piniginė. ICON teigė, kad trūkumas būdingas jos įgyvendinimui, nes kitos palaikomos grandinės naudojo fiksuoto pločio sveikuosius skaičius, kurie negalėjo sukurti tokio paties neatitikimo.
ICON atkūrimo išnaudojimo aptikimas buvo atliktas prieš sulaikymą
ICON stebėjimo sistema suveikė 02:08 UTC, praėjus septynioms minutėms nuo išnaudojimo pradžios. Techniniai darbuotojai tyrimą pradėjo apie 03:40, 92 minučių pertrauka. Paveikta sutartis buvo pristabdyta 03:53, 105 minutės po įspėjimo.
Anot ICON, užpuolikas pradėjo dalyti ICX tarp biržos indėlių adresų 02:44, o platinimas tęsėsi iki maždaug 05:20. Fondas teigė, kad ICON pusės pauzė negalėjo sustabdyti lėšų, jau pervestų į biržos saugojimą, judėjimo.
Tinklas buvo sustabdytas 06:18:54 ir atnaujintas apie 07:51 kitą dieną, maždaug po 25 valandų. Vieši „Bitvavo“, „Bitget“ ir „KuCoin“ pranešimai patvirtina, kad ICX indėliai ir išėmimai buvo sustabdyti dėl šio incidento, tačiau nė vienas neįvardija, kad turi užpuoliko lėšas arba netikrina įšaldytos sumos.
Per 2025 m. lapkričio mėn. perdavimo auditą buvo peržiūrėtas pasirinktas perdavimo ir tikrinimo kodas, įskaitant ICON tikrinimo failus, tačiau paskelbtame apimtyje nebuvo nurodytas paveiktas perkėlimo sutarties šaltinis. Nė viena iš devynių atskleistų išvadų neparodė serijos numerio neatitikimo. ICON teigė, kad su incidentais susijusi perdavimo logika buvo patikrinta, tačiau atotrūkis nepatenka į išvadas.
