CVE-2024-32962
Bypass na verificação de assinatura XML devido à verificação inadequada da assinatura / falsificação de assinatura
- Publicado
- 2 de mai. de 2024
- Atualizado
- 13 de fev. de 2025
- Atribuindo CNA
- GitHub_M
- Evidência observada
- 8 de ago. de 2026
CVSS primário
nvd · CVSS 3.1
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:NBaixo · próximos 30 dias
- Percentil
- 55,7%
- Data do modelo
- 21 de set. de 2026
EPSS é uma estimativa estatística, não uma certeza ou uma medida de impacto. Combine-o com CVSS, status KEV, exposição e seu ambiente.
Resumo
xml-crypto é uma biblioteca de assinatura digital e criptografia XML para Node.js. Nas versões afetadas, a configuração padrão não verifica a autorização do assinante; ela apenas verifica a validade da assinatura conforme a seção 3.2.2 da especificação w3 xmldsig-core-20080610. Dessa forma, sem etapas adicionais de validação, a configuração padrão permite que um ator malicioso re-assine um documento XML, coloque o certificado em um elemento `<KeyInfo />` e passe pelas verificações de validação padrão do `xml-crypto`. Como resultado, o `xml-crypto` confia por padrão em qualquer certificado fornecido via `<KeyInfo />` de um documento XML assinado digitalmente. O `xml-crypto` prefere usar qualquer certificado fornecido via `<KeyInfo />` do documento XML assinado digitalmente, mesmo se a biblioteca tiver sido configurada para usar um certificado específico (`publicCert`) para fins de verificação de assinatura. Um atacante pode falsificar a verificação de assinatura modificando o documento XML e substituindo a assinatura existente por uma assinatura gerada com uma chave privada maliciosa (criada pelo atacante) e anexando o certificado dessa chave privada ao elemento `<KeyInfo />`. Esta vulnerabilidade é uma combinação de alterações introduzidas no `4.0.0` no pull request 301 / commit `c2b83f98` e foi corrigida na versão 6.0.0 com o pull request 445 / commit `21201723d`. Recomenda-se que os usuários atualizem. Usuários que não puderem atualizar podem verificar o certificado extraído via `getCertFromKeyInfo` em relação aos certificados confiáveis antes de aceitar os resultados da validação, ou definir `getCertFromKeyInfo` do `xml-crypto` para `() => undefined`, forçando o `xml-crypto` a usar um `publicCert` ou `privateKey` explicitamente configurado para a verificação de assinatura.
Fontes
1Simula um ataque que explora CVE-2024-32962 para forjar mensagens SAML e obter permissões não autorizadas, demonstrando o impacto da vulnerabilidade.
Uso responsável
Use informações de vulnerabilidade apenas em sistemas que você possui ou está autorizado a testar. O Kitploit vincula-se a metadados de pesquisa pública e não armazena código de exploração ou cargas maliciosas.