Tweet został usunięty przez autora.
Ale wszystko zapisaliśmy 🙂.
Właściciel portfela kryptowalutowego stracił około 2 900 rsETH o wartości 7,8 mln USD z powodu błędu w mechanizmie autoryzacji pomocniczego smart kontraktu. Badacze bezpieczeństwa ustalili, że problem nie dotyczył głównych kontraktów Safe, lecz pochodził z komponentu zewnętrznego, któremu użytkownik autoryzował dostęp do aktywów.
Ten artykuł został przetłumaczony z oryginału. Przeczytaj oryginalną wersję przygotowaną przez naszego korespondenta tutaj.
Atak miał miejsce na Ethereum i dotknął portfela Gnosis Safe. Aby zautomatyzować transakcje, właściciel zezwolił pomocniczemu kontraktowi na przenoszenie środków w jego imieniu — jest to rozwiązanie powszechnie stosowane m.in. w automatycznym handlu.
Wyświetl post na X Ładowanie...
Kontrola dostępu w kontrakcie została jednak wdrożona nieprawidłowo. Według SlowMist i BlockSec system w praktyce pozwalał każdemu użytkownikowi wykonać transakcję, jeśli jako cel wskazał sam pomocniczy kontrakt.
Wykorzystując lukę, atakujący zainicjował swap około 2 900 rsETH za pośrednictwem puli handlowej utworzonej zaledwie kilka minut wcześniej z praktycznie bezwartościowym tokenem o nazwie Permissionless Attacker Token. W rezultacie portfel został ustawiony tak, aby oddać płynne aktywa w zamian za tokeny bez rzeczywistej wartości.
Pierwotnemu atakującemu nie udało się jednak sfinalizować operacji. Zautomatyzowany bot znany jako yoink wykrył transakcję i ją wyprzedził, płacąc około 47 000 USD za priorytet.
W rezultacie bot uzyskał aktywa i przesłał 2 882 rsETH na oddzielny adres. Analitycy potwierdzili, że środki zostały przechwycone poprzez wyprzedzenie pierwotnej transakcji atakującego.
AstraSec wskazał błędną kontrolę autoryzacji w kontrakcie Multicall jako główną przyczynę incydentu. Inni badacze bezpieczeństwa również uznali, że podatność nie znajdowała się w głównych kontraktach Safe, lecz w komponencie, któremu właściciel portfela niezależnie przyznał zaufane uprawnienia.
Kelp DAO, emitent rsETH, poinformował, że jego własne kontrakty pozostały bezpieczne, a token był w pełni zabezpieczony. Po wykryciu podejrzanej aktywności projekt tymczasowo ograniczył transakcje z udziałem adresu, który otrzymał skradzione aktywa.
Ograniczenie wprowadzono na 24 godziny. W tym okresie rsETH nie można było przesyłać na podejrzany adres ani z niego, podczas gdy zespół badał incydent.
Podobny incydent infrastrukturalny miał wcześniej miejsce w Liquid Network. Hakerzy wypłacili około 4 000 BTC o wartości około 320 mln USD z portfela przechowującego bitcoiny stanowiące zabezpieczenie LBTC, co skłoniło sieć do zawieszenia działalności.
W momencie ataku kwota ta stanowiła około 95% rezerw Bitcoin Liquid Network, które przed incydentem wynosiły około 4 200 BTC. Część środków została później zwrócona po usunięciu podatności.
Wcześniej informowaliśmy, że blockchain Cronos został całkowicie zatrzymany po ataku na Tectonic, największy protokół pożyczkowy w jego ekosystemie. Wstępne straty wynikające z exploita oszacowano na około 75 mln USD.