Pelo menos US$ 2,6 bilhões de dólares estavam expostos e poderiam ter sido perdidos no ecossistema da Solana se um bug recentemente corrigido não tivesse sido detectado.
De acordo com pesquisadores de segurança da Neodyme, um bug na Solana Protocol Library (SPL) permitia que invasores roubassem dinheiro de vários projetos Solana a uma taxa de US $ 27 milhões por hora.
Os alvos potenciais que poderiam ter sido afetados incluem o Protocolo Tulip e os protocolos de crédito Solend, Soda e Larix, todos com um TVL na casa dos milhões.
We recently discovered a critical bug in the token-lending contract of the solana-program-library (SPL). This blog post details our journey from discovery, through exploitation and coordinated disclosure, and finally the fix.
— Neodyme (@Neodyme) December 3, 2021
Uma Lambo por hora
A empresa de segurança afirmou que o bug foi divulgado publicamente por um dos auditores da Neodyme, conhecido como Simon, no GitHub em junho. Na época, os pesquisadores de segurança não sabiam se ele era explorável ou quão grande seu impacto poderia ter.
Na semana passada o pesquisador viu que o problema ainda não havia sido resolvido, então começou a fazer testes para ver se era possível explorar o bug e avaliar o quão sério era.
O bug era um “erro de arredondamento aparentemente inócuo”, de acordo com a Neodyme, então eles descobriram que ele tinha potencial de roubar uma fortuna.
De forma simples, nos aplicativos da Solana existe um mecanismo para quando você coloca e retira fundos. Se o protocolo seguisse os documentos de referência da Solana SPL, eles arredondariam os fundos para o número inteiro mais próximo no ponto de retirada.
Assim, dependendo da transação, algumas pessoas acabariam com uma fração extra de tokens. Mas se alguém explorasse o problema de forma repetitiva, era possível ganhar quantias significativas de dinheiro.
Bug corrigido
Após vários testes, os pesquisadores estimaram que poderiam executar esse bug 150-200 vezes em uma única transação e colocar muitas dessas transações em um único bloco. Eles concluíram que a exploração poderia roubar fundos a uma taxa de US $ 7.500 por segundo, uma Lambo por hora.
Após identificar o potencial do problema, a empresa de segurança entrou em contato com vários projetos Solana que poderiam ser afetados pelo bug.
A Solana também corrigiu os documentos de referência para garantir que novos projetos seguindo o SPL não reintroduziriam o bug.