🚨 @ResolvLabs explorado por ~$25M O atacante abusou de um mecanismo de troca em duas etapas onde a quantidade de mint é passada como um parâmetro não verificado por um backend off-chain com acesso a SERVICE_ROLE. • Depositou apenas $300K USDC em 3 transações • Mintou mais de 80M USR tokens • O peg do USR colapsou devido à inflação da oferta • Extraiu ~$25M com um retorno de 83x Aqui está como aconteceu 🧵👇
A causa raiz? Nenhuma validação on-chain nos montantes de mint. O utilizador chama requestSwap() com USDC O backend (SERVICE_ROLE) chama completeSwap() com o montante de USR a ser mintado O montante de mint é totalmente controlado pelo chamador, sem verificação on-chain que corresponda ao depósito O backend comprometido passou 50M USR por 100K de depósito em USDC. Isso é uma desvio de 500x e o contrato não piscou.
2,5K