„Chainflip“, kad iš naujo nustatytumėte TRON USDT teikėjo likučius iki nulio po 736 000 USD išnaudojimo
„Chainflip“ nustatys paveiktų likvidumo teikėjų aktyvius TRON USDT likučius iki nulio pagal pakartotinio paleidimo planą, atsakantį į 736 442,17 USDT išnaudojimą, kuris buvo atskleistas rugsėjo 12 d.
Kryžminio grandinės apsikeitimo protokolas pirmiausia grandinėje atskirai įrašys kiekvieno teikėjo išankstinį perkėlimą balansą, išsaugodamas sumą, kurią „Chainflip“ sako esanti skolinga, net jei aktyvi paskyra bus nulis. Grąžinimas lieka laukiamas.
Iki rugsėjo 16 d. „Chainflip“ teigė, kad apsikeitimo sandoriai ir kotiravimas buvo atnaujinti visame likusiame tinkle, o TRON liko neįtrauktas. Paleidus paslaugą iš naujo, paslaugų teikėjai, esantys paveiktame maršrute, laukia ir apskaitos perkėlimo, ir atkūrimo proceso.
Chainflip sakė, kad užpuolikas pašalino USDT iš savo TRON saugyklos nuo 01:44 iki 03:10 UTC rugsėjo 12 d., todėl šešis likvidumo teikėjo išėmimus turėjo sumokėti du kartus.
Ataka pasinaudojo tuo, kaip protokolas nuskaito prie TRON perdavimų pridėtas instrukcijas. Chainflip teigė, kad užpuolikas pateikė sandorį, kurį jo tikrintojai jau pasirašė, ir pridėjo netinkamai suformuotą atmintinę. Pervedimą stebinti programinė įranga interpretavo atmintinę kaip nesėkmingą apsikeitimo sandorį ir grąžino lėšas be įprasto išėmimo.
Protokole teigiama, kad TRON saugykloje dabar yra daug mažiau USDT, nei yra skolingi paslaugų teikėjams. Todėl pakartotinio paleidimo planas atskiria tiesioginį sąskaitos likutį nuo sumos, kuri stebima atgauti.
Kaip „Chainflip“ atsižvelgs į trūkumą
„Chainflip“ perkėlimo plane raginama uždaryti atvirus TRON/USDT užsakymus ir strategijas bei panaikinti susijusias paskolas ir skolinimo pozicijas. Protokole ir jo programinės įrangos leidime naudojama etiketė „trxUSDT“, skirta USDT TRON.
Kiekvieno teikėjo išankstinio perkėlimo trxUSDT suma bus įrašyta į atskirą grandinės balansą prieš iš naujo nustatant aktyvų paskyros likutį. „Chainflip“ teigė, kad šis atskiras įrašas saugo skolos sumą būsimiems išmokėjimams.
Įrašyta suma skiriasi nuo užbaigtos kompensacijos, o teikėjo tiesioginėje trxUSDT sąskaitoje po perkėlimo bus rodomas nulis.
„Chainflip“ įsipareigojo paveikti paslaugų teikėjus padaryti vientisus. Jo viešuose atnaujinimuose nenurodomas finansavimo šaltinis ar išmokėjimų grafikas, nedokumentuojami atlikti mokėjimai ir nenurodoma galutinai susigrąžinta suma.
Protokole teigiama, kad jis užtaisė pažeidžiamumą, apribodamas TRON pervedimus, kurie atmintinėje gali turėti apsikeitimo instrukcijas. Naujoji logika priima atmintines, pridedamas prie paprasto TRX perdavimo arba tiesioginio TRC-20 prieigos rakto perdavimo. Į jį neįtraukiami pervedimai, susiję su kitu sutartiniu skambučiu, blokuojantį maršrutą, naudojamą papildomam pinigų grąžinimui.
Chainflip teigė, kad visos kitos lėšos nebuvo paveiktos. Atskleistas trūkumas, pozicijos panaikinimas ir balanso nustatymas iš naujo taikomi trxUSDT likvidumo teikėjams.
