Plataforma
nodejs
Componente
node-forge
Corrigido em
1.3.0
CVE-2022-24771 descreve uma vulnerabilidade no node-forge que permite a forja de assinaturas RSA PKCS#1 v1.5 devido a uma verificação permissiva do algoritmo de digest. Isso pode permitir que uma estrutura maliciosa roube bytes de preenchimento e use partes não verificadas da mensagem codificada em PKCS#1 para forjar uma assinatura, especialmente quando um expoente público baixo está em uso. A vulnerabilidade afeta versões anteriores a 1.3.0 do node-forge. A correção foi implementada na versão 1.3.0.
A CVE-2022-24771 afeta a biblioteca node-forge, especificamente o código de verificação de assinatura RSA PKCS#1 v1.5. A vulnerabilidade reside em uma verificação permissiva da estrutura do algoritmo de digestão. Isso permite que um atacante crie uma estrutura maliciosa que roube bytes de preenchimento e utilize uma parte não verificada da mensagem codificada PKCS#1 para falsificar uma assinatura quando um expoente público baixo está sendo usado. O risco é significativo para aplicações que dependem de node-forge para a verificação de assinaturas RSA e que utilizam configurações com expoentes públicos pequenos.
A exploração desta vulnerabilidade requer um atacante com conhecimento da estrutura das assinaturas PKCS#1 e a capacidade de enviar dados maliciosos para o sistema que utiliza node-forge para a verificação. O sucesso depende da configuração específica do sistema, incluindo o expoente público usado nas chaves RSA. Um expoente público pequeno aumenta a probabilidade de exploração bem-sucedida. A complexidade do ataque reside na necessidade de construir uma estrutura de assinatura cuidadosamente elaborada para enganar o verificador.
Status do Exploit
EPSS
0.14% (percentil 35%)
Vetor CVSS
A solução para esta vulnerabilidade é atualizar a biblioteca node-forge para a versão 1.3.0 ou superior. Esta versão corrige a verificação da estrutura do algoritmo de digestão, prevenindo a manipulação do preenchimento e a falsificação de assinaturas. É fortemente recomendado atualizar para a versão mais recente e estável de node-forge para mitigar este risco. Além disso, revise o código que utiliza node-forge para garantir que expoentes públicos seguros estejam sendo usados e que as melhores práticas para gerenciamento de chaves e assinaturas estejam sendo seguidas.
Actualice a la versión 1.3.0 o superior de node-forge para mitigar la vulnerabilidad. Esta actualización corrige la verificación inadecuada de la firma criptográfica, previniendo la posibilidad de falsificación de firmas bajo ciertas condiciones.
Análise de vulnerabilidades e alertas críticos diretamente no seu e-mail.
PKCS#1 v1.5 é um padrão para o formato de mensagens RSA. Ele define como as mensagens devem ser codificadas e preenchidas antes de serem assinadas ou descriptografadas com RSA.
O expoente público é um componente chave da chave RSA. Um expoente público pequeno pode tornar a assinatura mais vulnerável a ataques como este, pois facilita o cálculo de uma assinatura forjada.
Se a atualização imediata não for possível, considere implementar medidas de mitigação adicionais, como usar expoentes públicos maiores e validação rigorosa das assinaturas.
Atualmente, não existem ferramentas específicas para detectar esta vulnerabilidade. No entanto, recomenda-se realizar uma revisão de código completa para identificar qualquer uso inseguro de node-forge.
KEV: no indica que esta vulnerabilidade não foi incluída no Knowledgebase de Vulnerabilidades da comunidade.
Envie seu arquivo de dependências e descubra na hora se esta e outras CVEs te atingem.