XRP Ledger corrige falha de uma década que poderia romper o teto de 100 bilhões de tokens
Desenvolvedores do XRP Ledger revelaram em 9 de outubro que uma falha de overflow de inteiro no motor de pagamentos da rede poderia ter permitido a um atacante criar XRP do nada, rompendo o teto de 100 bilhões de tokens definido no lançamento do ledger, em 2012. O problema foi corrigido na versão 3.4.1 do software xrpld, em 25 de setembro, e a RippleX afirmou não ter encontrado indícios de que a brecha tenha sido explorada em rede pública, segundo o relatório oficial de divulgação de vulnerabilidades.
A falha foi reportada em 22 de setembro pelo pesquisador Cayden Liao e pela Veria AI, por meio do programa de recompensas por bugs do XRPL. Engenheiros da RippleX reproduziram o ataque em um servidor isolado, confirmaram que o XRP criado poderia ser gasto em uma transação seguinte e elevaram a classificação do achado de "maior" para "crítica".
Como a falha poderia ter emitido XRP
A vulnerabilidade estava no tratamento de overflow do motor de pagamentos. Quando um único pagamento consumia muitas ofertas na exchange nativa do ledger, o software somava o valor devido pelo comprador com adição de inteiros de 64 bits, sem verificação de overflow. Algumas centenas de ofertas, cada uma pedindo uma quantidade muito grande de XRP, bastavam para levar o total além do que um número de 64 bits comporta, fazendo-o dar a volta para um valor ínfimo. Cada dono de oferta recebia integralmente, enquanto o comprador era debitado apenas pelo total resultante do estouro, deixando o XRP recém-emitido nas contas do atacante.
Duas salvaguardas deveriam ter detectado isso, e nenhuma funcionou. A invariante do ledger de "nenhum XRP criado" soma as variações líquidas de saldo da mesma forma, então também dava a volta e não identificava nada de errado. Já a checagem de saldo por conta só falha quando uma única conta detém mais do que o suprimento total — algo que o ataque evitava ao distribuir o XRP emitido por centenas de contas.
Por que a correção ignorou o processo de emendas
Mudanças na forma como o XRP Ledger processa transações normalmente passam por um processo de emenda, no qual uma nova regra fica dormente até que mais de 80% dos validadores confiáveis a apoiem por duas semanas. A RippleX pulou essa etapa de propósito pela primeira vez desde que ela foi introduzida há mais de dez anos, porque o exploit era barato, não exigia acesso especial e poderia ter emitido XRP gastável. Como o xrpld é de código aberto, uma correção publicada pela via normal ficaria visível — e ainda explorável — na mainnet por semanas. O atalho trazia o risco de uma paralisação da rede por mistura de versões, mas transações normais nunca chegam ao trecho vulnerável do código. Mais de 80% dos validadores da UNL padrão já rodavam a versão 3.4.1 no dia de seu lançamento, antes da publicação do código-fonte.
O que isso significa para a oferta fixa do XRP
O episódio evidencia o quanto a proposta de valor do XRP depende de sua oferta ser comprovadamente finita. Os 100 bilhões de tokens foram criados no lançamento, e instituições que constroem sobre o ledger tratam esse teto como garantia. A falha existia desde que o motor de pagamentos atual foi escrito, em 2015, mas a RippleX não encontrou evidências de exploração. A mesma versão também corrigiu uma falha separada de validação do wrapper de transações Batch, ativada na mainnet em 9 de outubro. A RippleX informou que está adicionando uma etapa de reverificação ao seu processo de lançamento, para que todo achado de segurança marcado como corrigido seja retestado contra a versão candidata.
A divulgação ocorre enquanto o XRP Ledger segue incorporando recursos institucionais, incluindo delegação de permissões para bancos e stablecoins, e a dinâmica de oferta e escrow do XRP continua no radar dos detentores.