O Electrum 4.8.3, distribuído neste sábado (24), corrige uma falha que pode levar o usuário a autorizar um pagamento ao destinatário errado ao aumentar a taxa de uma transação. O problema depende da conexão da carteira a um servidor malicioso e afeta versões anteriores à 4.8.3. A equipe publicou o aviso de segurança junto da liberação dos binários.
O servidor pode apresentar uma transação adulterada como pendente. Se a pessoa usar a opção de aumentar a taxa e assinar essa operação, acaba autorizando os novos destinatários. A correção acrescenta verificações de assinaturas antes de certas transações não confirmadas entrarem no histórico local.
O que muda para quem usa a carteira
| Situação | Informação do aviso |
|---|---|
| Electrum anterior à 4.8.3 | Versão afetada |
| Electrum 4.8.3 | Versão que inclui a correção |
| Conexão a servidor controlado pelo atacante | Condição necessária ao ataque descrito |
| Aumento de taxa com nova assinatura | Etapa que pode autorizar o desvio |
| Servidor próprio ou de confiança | Fora desse cenário, segundo os mantenedores |
A equipe relata exploração e recebeu dois avisos de usuários, um deles com perda de fundos. O comunicado não apresenta uma estimativa global de vítimas ou prejuízo.
Por que o servidor aparece nessa história
O Electrum é uma carteira leve: não precisa baixar e validar toda a blockchain para começar a funcionar. Sua documentação sobre confiança nos servidores explica que o aplicativo mantém contato com vários deles, mas escolhe um servidor principal para sincronizar o histórico e transmitir transações.
As chaves privadas não são enviadas a esses servidores. Isso, porém, não torna irrelevante a informação que eles fornecem. Transações confirmadas passam por verificação SPV, baseada em provas de inclusão nos blocos; informações sobre operações ainda não confirmadas têm um tratamento diferente. O servidor principal também pode omitir uma transação do histórico apresentado ao cliente.
A distinção ajuda a localizar o problema: controlar o servidor não significa obter automaticamente a chave da carteira. Neste caso, a informação enganosa influencia uma operação que o próprio usuário acaba assinando. Também não há indicação de alteração das regras de consenso do Bitcoin.
Aumentar a taxa exige conferir uma nova transação
RBF, abreviação de replace-by-fee, permite substituir uma transação ainda não confirmada por outra que gasta os mesmos fundos, normalmente para oferecer uma taxa maior. O BIP 125 documenta a sinalização opt-in dessa política e explica por que pagamentos sujeitos a substituição não devem ser tratados como definitivos antes da confirmação.
Uma substituição não é apenas um ajuste visual no valor da taxa. Ela é uma transação que precisa ser examinada e autorizada. Em um pagamento comum, o destinatário esperado continua sendo o mesmo e o valor de troco pode mudar para acomodar o custo adicional. Se o destino mostrado não corresponde ao pagamento pretendido, o usuário não deve confirmar a operação só porque ela está rotulada como aumento de taxa.
É a mesma separação entre montar uma operação, assiná-la e transmiti-la explicada no guia de PSBT do Ponto Nulo. A assinatura autoriza os dados da transação examinada; ela não valida a intenção que a pessoa tinha ao abrir a janela.
Atualização e origem do instalador
As notas da versão 4.8.3 são datadas de 23 de outubro, quando a versão recebeu sua tag no repositório. Os binários e o aviso público chegaram em 24 de outubro. A atualização também reúne outros ajustes de segurança e correções de interface; a data da tag não deve ser confundida com a distribuição dos executáveis.
O site oficial do Electrum orienta a obter o aplicativo pelo domínio do projeto e verificar as assinaturas GPG dos arquivos. Há distribuições para desktop e Android. Antes de instalar, é necessário conferir a plataforma e a versão do arquivo, além da identidade da chave usada na assinatura.
Um hash publicado ao lado de um instalador não oferece, sozinho, a mesma garantia de origem: quem substituir ambos pode fazer a comparação passar. A assinatura depende de uma chave de assinatura cuja identidade também precisa ser conferida. A página de download mantém os arquivos de assinatura e as referências dos responsáveis pelos builds.