Unknown · Secp256K1-Node · CVE-2024-48930
**Nome do software vulnerável e versões afetadas**
Versões do secp256k1-node anteriores à 5.0.1
Versões do secp256k1-node anteriores à 4.0.4
Versões do secp256k1-node anteriores à 3.8.1
**Descrição**
A vulnerabilidade afeta a versão baseada em `elliptic` do secp256k1-node, na qual a função `loadCompressedPublicKey` não possui uma verificação para garantir que a chave pública esteja na curva. Isso permite que um invasor utilize chaves públicas em curvas de baixa cardinalidade para extrair informações suficientes para restaurar totalmente a chave privada a partir de apenas 11 sessões ECDH, com um custo muito baixo em termos de poder de computação. Outras operações em chaves públicas também são afetadas, incluindo `publicKeyVerify()` retornando incorretamente `true` nessas chaves inválidas, e `publicKeyTweakMul()` também retornando resultados previsíveis, permitindo restaurar o tweak.
**Recomendações**
Para versões anteriores à 5.0.1, atualize para a versão 5.0.1 ou posterior.
Para versões anteriores à 4.0.4, atualize para a versão 4.0.4 ou posterior.
Para versões anteriores à 3.8.1, atualize para a versão 3.8.1 ou posterior.
Como solução temporária, considere desativar a função `loadCompressedPublicKey` até que um patch esteja disponível.
Restrinja o acesso às funções `publicKeyVerify()` e `publicKeyTweakMul()` para minimizar o risco de exploração.
Evite usar a função `publicKeyTweakMul()` com chaves públicas não confiáveis até que o problema seja resolvido.