O fundador da OneKey, Yishi, informou que sua equipe reproduziu em laboratório um ataque de substituição de transação no aplicativo Ledger Ethereum App. A essência do ataque é que, devido a uma condição de corrida no código, o atacante pode substituir a transação enquanto o usuário ainda está olhando para a tela. O usuário vê e aprova a transação A, mas o dispositivo assina a transação B, que ele nunca chegou a ver.
A falha descrita coincide com uma vulnerabilidade já divulgada publicamente em 22 de agosto pelo pesquisador independente TestMachine, e a Ledger corrigiu essa vulnerabilidade na versão 1.22.2, e não na 1.22.3, como afirmou Yishi.
A própria Ledger confirmou o problema no LSB 023: alguns aplicativos no Ledger Secure SDK podiam aceitar novos comandos durante a confirmação na tela, fazendo com que os parâmetros exibidos diferissem dos que eram realmente assinados. O problema está na maneira como a entrada e saída são processadas no SDK, e não na firmware do dispositivo. A versão 26.6.1 do SDK foi lançada em 21 de agosto; os usuários precisam atualizar especificamente os aplicativos através do Ledger Live.
A Ledger não registrou nenhum caso real de exploração dessa vulnerabilidade.
