🚨 @ResolvLabs wykorzystane na kwotę ~$25M Napastnik wykorzystał mechanizm dwustopniowej wymiany, w którym kwota mintu jest przekazywana jako niezweryfikowany parametr przez backend off-chain z dostępem SERVICE_ROLE. • Zdeponowano tylko 300 tys. USD w 3 transakcjach • Wydano ponad 80M tokenów USR • Peg USR załamał się z powodu inflacji podaży • Wydobyto ~$25M, co daje 83-krotny zwrot Oto jak to się stało 🧵👇
Przyczyna? Brak walidacji on-chain dotyczącej kwot mint. Użytkownik wywołuje requestSwap() z USDC Backend (SERVICE_ROLE) wywołuje completeSwap() z kwotą USR do mintowania Kwota mint jest w pełni kontrolowana przez wywołującego, brak on-chain sprawdzenia, czy odpowiada depozytowi Skompromitowany backend przekazał 50M USR za depozyt 100K USDC. To 500-krotne odchylenie, a kontrakt nawet nie drgnął.
2,55K