CVE-2022-0778
Loop infinito em BN_mod_sqrt() alcançável ao analisar certificados
- Publicado
- 15 de mar. de 2022
- Atualizado
- 22 de mai. de 2026
- Atribuindo CNA
- openssl
- 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:U/C:N/I:N/A:HAlto · próximos 30 dias
- Percentil
- 99,4%
- 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
A função BN_mod_sqrt(), que calcula uma raiz quadrada modular, contém um bug que pode fazê-la entrar em loop infinito para módulos não primos. Internamente, essa função é usada ao analisar certificados que contêm chaves públicas de curva elíptica em formato compactado ou parâmetros explícitos de curva elíptica com um ponto base codificado em formato compactado. É possível acionar o loop infinito ao criar um certificado com parâmetros explícitos de curva inválidos. Como a análise do certificado ocorre antes da verificação da assinatura do certificado, qualquer processo que analise um certificado fornecido externamente pode estar sujeito a um ataque de negação de serviço. O loop infinito também pode ser alcançado ao analisar chaves privadas criadas, pois elas podem conter parâmetros explícitos de curva elíptica. Portanto, as situações vulneráveis incluem: - Clientes TLS que consomem certificados de servidores - Servidores TLS que consomem certificados de clientes - Provedores de hospedagem que recebem certificados ou chaves privadas de clientes - Autoridades certificadoras que analisam solicitações de certificação de assinantes - Qualquer outra coisa que analise parâmetros de curva elíptica ASN.1 Além disso, quaisquer outros aplicativos que usem a função BN_mod_sqrt() em que o atacante possa controlar os valores dos parâmetros estão vulneráveis a esse problema de DoS. Na versão 1.0.2 do OpenSSL, a chave pública não é analisada durante a análise inicial do certificado, o que torna um pouco mais difícil acionar o loop infinito. No entanto, qualquer operação que exija a chave pública do certificado acionará o loop infinito. Em particular, o atacante pode usar um certificado autoassinado para acionar o loop durante a verificação da assinatura do certificado. Esse problema afeta as versões do OpenSSL 1.0.2, 1.1.1 e 3.0. Foi corrigido nas versões 1.1.1n e 3.0.2 em 15 de março de 2022. Corrigido no OpenSSL 3.0.2 (Afetados 3.0.0,3.0.1). Corrigido no OpenSSL 1.1.1n (Afetados 1.1.1-1.1.1m). Corrigido no OpenSSL 1.0.2zd (Afetados 1.0.2-1.0.2zc).
Fontes
5Uso 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.