LND 0.21.0 corrige falha no fechamento de canais

O LND, uma implementação de nó da Lightning Network, corrigiu uma falha relacionada ao fechamento cooperativo de canais. No cenário de perda máxima reproduzido, o problema poderia expor todo o saldo mantido em um canal. Por isso, operadores de versões anteriores à 0.21.0 podem não contar com a correção oficial, salvo quando aplicaram um patch independente.

A divulgação de 13 de agosto explicou como um participante malicioso poderia explorar uma reorganização de um bloco do Bitcoin. O ataque também exigia uma transação de compromisso antiga e revogada após o fechamento cooperativo do canal. Bastien Teinturier, responsável pela divulgação técnica, afirmou desconhecer usuários afetados.

Falha no LND poderia expor todo o saldo do canal

Antes da correção, o LND podia esquecer um canal fechado cooperativamente após a primeira confirmação da transação na rede. Dessa forma, o nó removia o estado necessário para reagir caso uma reorganização retirasse o bloco da cadeia. Embora envolvesse uma reorganização de um bloco, a exploração também dependia de várias condições específicas.

Primeiro, o participante malicioso precisava aceitar o fechamento cooperativo e aguardar uma confirmação. Em seguida, ele teria de aproveitar uma reorganização que removesse a transação de encerramento. O participante ainda precisava manter uma transação de compromisso revogada, vinculada a um estado antigo do saldo. Normalmente, a publicação desse estado deveria acionar o mecanismo de penalidade da Lightning Network.

Nesse cenário, um nó vulnerável poderia deixar de transmitir as transações destinadas a punir a divulgação do compromisso revogado. Como resultado, a perda poderia alcançar o saldo integral do canal no caso máximo reproduzido. Contudo, esse resultado representa o limite da vulnerabilidade, e não uma prova de exploração em condições reais.

A falha e sua correção se aplicam especificamente ao LND. Portanto, a divulgação não indica que outras implementações da Lightning Network apresentem o mesmo comportamento. O problema dependia da maneira como o software administrava o estado do canal após um encerramento cooperativo.

Correção oficial entrou na versão LND 0.21.0

O histórico do repositório indica que a correção oficial chegou à versão 0.21.0. Essa informação difere da versão 0.20.0 citada inicialmente na divulgação pública. A equipe incorporou o pull request nº 10331 ao ramo principal do projeto em 16 de janeiro de 2026. Depois, os desenvolvedores reverteram o backport destinado ao ramo 0.20.x.

Posteriormente, uma mudança na documentação esclareceu que a lógica aprimorada de confirmação chegou, de fato, à linha 0.21.0. As notas de lançamento da versão 0.21.0 também relacionam essa versão ao fechamento protegido contra reorganizações. Assim, operadores não devem considerar a versão 0.20.0 como o marco da correção oficial.

Na prática, versões padrão anteriores à 0.21.0 continuam vulneráveis quando não receberam um patch independente. A política de segurança do projeto recomenda a versão minor mais recente da linha major compatível com cada operação. Em 25 de agosto de 2026, o pacote oficial mais recente era o LND v0.21.2-beta, lançado em 13 de agosto.

Atualização mantém o estado durante mais confirmações

Com a atualização, o LND mantém o estado do fechamento enquanto aguarda múltiplas confirmações. Além disso, o software passou a responder às notificações de reorganização da rede. Com isso, o nó não considera o canal definitivamente resolvido após apenas um bloco.

Operadores precisam verificar a versão instalada e identificar eventuais patches aplicados fora do pacote padrão. Caso o nó utilize uma versão anterior à 0.21.0 sem correção independente, a atualização reduz a exposição ao problema divulgado. Ainda assim, a publicação não apresentou evidências de que agentes maliciosos tenham explorado a falha contra usuários.