PT-2024-18179 · Unknown · @Dfinity/Identity
Peterpeterparker
·
Publicado
2024-02-20
·
Atualizado
2026-03-16
·
CVE-2024-1631
CVSS v3.1
9.1
Crítica
| Vetor | AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N |
Nome do software vulnerável e versões afetadas
Versões do @dfinity/identity anteriores à 1.0.1
Descrição
A biblioteca oferece uma função para gerar um par de chaves ed25519 por meio de
Ed25519KeyIdentity.generate, com um parâmetro opcional para fornecer um valor de semente de 32 bytes, que será então usado como chave secreta. Quando nenhum valor de semente é fornecido, espera-se que a biblioteca gere a chave secreta usando aleatoriedade segura. No entanto, uma alteração recente quebrou essa garantia e passa a usar uma semente insegura para a geração do par de chaves. Como a chave privada dessa identidade está comprometida, é possível perder fundos associados ao principal nos ledgers ou perder acesso a um canister onde esse principal é o controlador.Recomendações
Para versões anteriores à 1.0.1, atualize para a versão 1.0.1 para corrigir a vulnerabilidade.
Como solução alternativa temporária, considere chamar a função como
Ed25519KeyIdentity.generate(null) para forçar a função a gerar uma semente aleatória segura.Como alternativa, passe uma variável aleatória gerada de forma segura como semente para
Ed25519KeyIdentity.generate para forçar a biblioteca a usá-la como semente para gerar o par de chaves.Para usuários, remova o principal afetado como controlador de um canister e crie uma nova identidade para gerenciar canisters.
Verifique os fundos em carteiras ou ledgers e transfira-os para uma nova conta se o principal da conta corresponder à identidade comprometida.
Correção
Use of Insufficiently Random Values
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾
Identificadores relacionados
Produtos afetados
@Dfinity/Identity