CVE-2021-4044
Tratamento inválido de erros internos de X509_verify_cert() no libssl
- Publicado
- 14 de dez. de 2021
- Atualizado
- 17 de set. de 2024
- Atribuindo CNA
- openssl
- Evidência observada
- 4 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
- 98,9%
- 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
Internamente, o libssl no OpenSSL chama `X509_verify_cert()` no lado do cliente para verificar um certificado fornecido por um servidor. Essa função pode retornar um valor de retorno negativo para indicar um erro interno (por exemplo, falta de memória). Esse valor de retorno negativo é tratado incorretamente pelo OpenSSL e fará com que uma função de E/S (como `SSL_connect()` ou `SSL_do_handshake()`) não indique sucesso, e uma chamada subsequente a `SSL_get_error()` retorne o valor `SSL_ERROR_WANT_RETRY_VERIFY`. Esse valor de retorno só deve ser retornado pelo OpenSSL se o aplicativo tiver chamado anteriormente `SSL_CTX_set_cert_verify_callback()`. Como a maioria dos aplicativos não faz isso, o valor de retorno `SSL_ERROR_WANT_RETRY_VERIFY` de `SSL_get_error()` será totalmente inesperado e os aplicativos podem não se comportar corretamente como resultado. O comportamento exato dependerá do aplicativo, mas pode resultar em travamentos, loops infinitos ou outras respostas incorretas semelhantes. Esse problema se torna mais grave em combinação com um bug separado no OpenSSL 3.0 que fará com que `X509_verify_cert()` indique um erro interno ao processar uma cadeia de certificados. Isso ocorrerá quando um certificado não incluir a extensão Subject Alternative Name, mas onde uma Autoridade Certificadora tiver imposto restrições de nome. Esse problema pode ocorrer até mesmo com cadeias válidas. Ao combinar os dois problemas, um atacante pode induzir um comportamento incorreto e dependente do aplicativo. Corrigido no OpenSSL 3.0.1 (Afetado 3.0.0).
Fontes
1- CVE-2021-4044Detecção
Script Python para verificar a versão do OpenSSL para a vulnerabilidade CVE-2021-4044 e testar conexões SSL/TLS para sites especificados pelo usuário, com tratamento de erros e relatórios.
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.