E o OpenSSL corrigiu o bug de análise de certificado através de uma atualização de segurança. Confira os detalhes dessa vulnerabilidade.
O OpenSSL lançou uma atualização de segurança para resolver uma vulnerabilidade na biblioteca que, se explorada, ativa uma função de loop infinito e leva a condições de negação de serviço.
OpenSSL corrigiu o bug de análise de certificado
Ataques de negação de serviço podem não ser o problema de segurança mais desastroso. No entanto, ainda pode causar interrupção significativa dos negócios, repercussões financeiras de longo prazo e degradação da reputação da marca para os afetados.
Esse é especialmente o caso de softwares como o OpenSSL, uma biblioteca de comunicação segura onipresente usada por muitas grandes plataformas online. Portanto, qualquer vulnerabilidade que afete a biblioteca pode afetar significativamente um grande número de usuários.
Nesse caso, o problema de alta gravidade do OpenSSL está em um bug na função BN_mod_sqrt(), que se receber um certificado mal-intencionado para analisar, ele entrará em um loop infinito.
O certificado deve conter chaves públicas de curva elíptica em formato compactado ou parâmetros de curva elíptica com um ponto base codificado em formato compactado para acionar a falha.
“Como a análise do certificado ocorre antes da verificação da assinatura do certificado, qualquer processo que analisa um certificado fornecido externamente pode estar sujeito a um ataque de negação de serviço.”, descreve o aviso de segurança do OpenSSL.
“O loop infinito também pode ser alcançado ao analisar chaves privadas criadas, pois elas podem conter parâmetros de curva elíptica explícitos.”
Infelizmente, o problema afeta alguns cenários de implantação, como:
- Clientes TLS consumindo certificados de servidor
- Servidores TLS consumindo certificados de cliente
- Provedores de hospedagem que recebem certificados ou chaves privadas de clientes
- Autoridades de certificação analisando solicitações de certificação de assinantes
- Qualquer outra coisa que analise os parâmetros da curva elíptica ASN.1
A vulnerabilidade é rastreada como CVE-2022-0778 e afeta as versões OpenSSL 1.0.2 a 1.0.2zc, 1.1.1 a 1.1.1ne 3.0 a 3.0.1.
O pesquisador de segurança do Google, Tavis Ormandy, descobriu a vulnerabilidade de análise de certificados e relatou suas descobertas à equipe do OpenSSL em 24 de fevereiro de 2022.
This was a fun one to work on, @davidben__ helped track it down to a bug in the Tonelli-Shanks implementation in OpenSSL. https://t.co/AYvpBLwNvJ
— Tavis Ormandy (@taviso) March 15, 2022
As versões corrigidas lançadas ontem são 1.1.1ne 3.0.2, enquanto apenas usuários premium de 1.0.2 receberão uma correção até 1.0.2zd.
Como a versão 1.0.2 não analisa a chave pública durante a análise do certificado, o loop infinito é um pouco mais complicado de acionar do que as outras versões, mas ainda é factível.
O OpenSSL 1.0.2 atingiu o EOL e não é suportado ativamente, portanto, usuários não premium são aconselhados a atualizar para uma nova ramificação de lançamento o mais rápido possível.
Embora o OpenSSL não tenha dito que o bug já é usado por agentes de ameaças, a agência nacional de segurança cibernética da Itália, CSIRT, o marcou como ativamente explorado na natureza.
Mesmo que a mensagem seja confusa nessa frente, a baixa complexidade da exploração e as informações publicadas permitirão que os agentes de ameaças testem e brinquem rapidamente com a vulnerabilidade no futuro.
Um porta-voz do OpenSSL compartilhou a seguinte declaração ao site Bleeping Computer:
“A falha não é muito difícil de explorar, mas o impacto é limitado ao DoS. O cenário mais comum em que a exploração dessa falha seria um problema seria um cliente TLS acessando um servidor malicioso que fornece um certificado problemático. Os servidores TLS podem ser afetados se estiverem usando autenticação de cliente (que é uma configuração menos comum) e um cliente mal-intencionado tentar se conectar a ele. É difícil adivinhar até que ponto isso se traduzirá em exploração ativa.”
Como a maioria dos usuários obtém o OpenSSL de terceiros, não há autoridade centralizada para contar as estatísticas de atualização, portanto, é impossível estimar quantas implantações vulneráveis existem.