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

VetorAV: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 👾

Enumeração de Fraquezas

Identificadores relacionados

CVE-2024-1631
GHSA-C9VV-FHGV-CJC3

Produtos afetados

@Dfinity/Identity