Um erro descoberto no mês passado poderia ter potencialmente esvaziado contas de câmbio que prendem tokens digitais usados ​​para alimentar o aplicativo Golem com base em ethereum.

No entanto, devido à natureza do bug, também poderia ter sido usado em outros tokens de etéreo listados na troca. Isso porque usou o padrão ERC-20 da plataforma, uma característica que ganhou defensores no setor de câmbio devido à sua capacidade de reduzir o tempo que leva as trocas para adicionar novas moedas.

No entanto, um partidário do Golem e um detentor do GNT encontraram o bug no dia 18 de março e relataram isso à equipe do desenvolvedor antes que ele pudesse ser usado maliciosamente.

O problema que veio à luz decorre de como os intercâmbios preparam os dados para as transações e como a Solididade (o ethereum smart contract language) codifica e decodifica os dados da transação, de acordo com a engenheira de software da Golem Factory, Pawel Bylica, que publicou um relatório sobre o questão.

De acordo com sua avaliação, o serviço que preparou os dados para transferências token assume uma entrada de endereço de 20 bytes, mas na verdade não verificou se a entrada era o comprimento correto.

Como resultado, um comprimento de endereço mais curto causou que o montante da transação fosse deslocado para a esquerda, aumentando assim seu valor.

O usuário do Golem informou uma transação "estranha" que ganhou tanto valor que poderia ter esvaziado toda a conta do GNT de troca, de acordo com a publicação da Bylica. Na verdade, ele só motivo porque isso não aconteceu, ele disse, é que o número era tão grande que era impossível que a troca o completasse.

O bug já foi corrigido e a equipe da Bylica notificou outras trocas da vulnerabilidade potencial.

'Chocado e aterrorizado'

No entanto, os medos ainda foram alimentados pelo erro, dado que poderia ser amplamente aplicável a outras trocas usando tokens ERC-20.

Embora a equipe da Bylica não tenha verificado a existência dessa vulnerabilidade em outras trocas, ele mencionou que as desvantagens potenciais foram graves.

"Nós ficamos chocados e um pouco aterrorizados para perceber as possíveis consequências de alguém aproveitar esse erro para vários tokens em várias trocas", escreveu Bylica.

Felizmente, algumas correções propostas são relativamente simples de implementar.

"Simplesmente verificar o comprimento de um endereço fornecido por um usuário protege [trocas] do ataque descrito", escreveu Bylica.

reações de Reddit

A reação no Reddit variou de indignação leve a debates sobre a responsabilidade das trocas para fornecer segurança aprimorada.

"Este é um assunto básico", escreveu o usuário BullBearBabyWhale. "Mais uma vez, fiquei espantado com o quão sério o negócio neste espaço (o que é tudo sobre segurança) não é levá-lo a sério."

Para aqueles que armazenam quaisquer tokens baseados em ethereum, incluindo tokens ERC-20, em uma troca, o usuário Reddit 1up8192 recomendou chegar aos provedores de serviços para verificar se eles tinham verificado a vulnerabilidade.

" Pergunte a sua troca se eles souberem sobre a possibilidade de injeção e se resolverem o problema ", eles escreveram.

Imagem do código do computador via Shutterstock