Coder tjener $ 8 millioner av Flashloaning Stablecoin Bug

Coder tjener $ 8 millioner av Flashloaning Stablecoin Bug

En dyktig koder har satt 8 millioner dollar i lomme ved å utnytte en reentrancy bug i Origin Protocols oUSD-smarte kontrakt.

OUSD er et nytt token som sporer dollarprisen 1: 1 ved å være støttet av andre stablecoins som USDt.

Prosjektet sier at denne USDt og andre stablecoin-eiendeler blir sendt til defi-protokoller for å tjene renter, med oUSD-symbolet som er fritt til å bevege seg eller brukes mens det også tjener interessen til de underliggende eiendelene.

Så i utgangspunktet er dette abstrakte eiendeler si på Compound, noe som gir dem et eiertegn Bitcoin Code, med dette tegnet nå fritt for utlåns- / lånebelastningen mens du nyter fordelen av renter.

Ganske kult, bortsett fra at det er en reentrancy bug. Eterere fra 2016 vil vite at slike feil er av den typen at på grunn av en kodefeil, den smarte kontrakten tror du har rett til å prikke tegnet når du faktisk ikke gjør det. Teamet sier, og vi siterer lenge:

“Angrepet var en gjenopprettelsesfeil i kontrakten vår. Dessverre var kontrakten vår trygg mot gjenopprettingsfeil med mindre en av våre støttede stablecoins angrep oss.

Angriperen utnyttet en manglende valideringskontroll i myntemultipel (når man myter OUSD med flere stallmynter) for å passere i en falsk “stablecoin” under deres kontroll. Denne „stablecoin“ ble deretter kalt „transferFrom“ videre av hvelvet, slik at hackeren kunne utnytte kontrakten med et gjenopprettingsangrep midt i mynten.

Angriperen var i stand til å lage en rebase-begivenhet inne i den andre mynten etter at midler hadde flyttet til OUSD fra den første store mynten, men før tilførselen av OUSD økte. Dette skapte en massiv rebase for alle i kontrakten, inkludert angriperen. Angriperen mottok da også sin første store OUSD-mynte, noe som ga dem totalt mer OUSD enn kontrakten hadde eiendeler.

Angriperen trakk de fleste stallmynter ut av OUSD.

De var da i stand til å ta ekstra OUSD etter å ha trukket og selge den på Uniswap og Sushiswap for USDT i påfølgende transaksjoner. ”

Flashloan-utnyttelse av Origin stablecoin, nov 2020

Denne koderen gadd å stoppe rundt og samle sammensatte tokens gitt for å gi likviditet med noen handlinger utført bare for å samle inn $ 9 verdier av eiendeler / eth.

Så å bringe transaksjonsgebyret til $ 250, en liten pris å betale for $ 8 millioner han mottok takket være noen få linjer med kode.

At 8 millioner dollar nå stort sett har gått gjennom mikser Tornado Cash og renBTC med teamet som ba om at hackeren skulle gi tilbake pengene.

Noe som han godt kan gjøre delvis, og returnerer kanskje 2 millioner dollar med resten, kanskje bedre brukt til å finansiere en slags kodeskole der han kan lære barna alt dette suset i sin båt.

Alt dette gratis egentlig så langt som han ikke trengte på forhånd 70 000 eth, 32 millioner dollar, da dYdX bare ga det til ham fordi flashloan-koden sjekket ut ganske mye fortjeneste.

Betydningen av smarte kontraktskodere må være enda mer forsiktig nå og må slette kostnadene ved angrep, fordi kostnadene med flashloans er ganske mye, noe som sparer dyktighet og kodingstid.