Skip to main content

Nova vulnerabilidade crítica do OpenSSL: o que você precisa saber

wordpress-sync/feature-openssl

31 de outubro de 2022

0 minutos de leitura

Observação do editor: 1º de novembro de 2022

Na Snyk, verificamos o uso do OpenSSL v3 em nossos próprios sistemas e ferramentas. Identificamos que as versões 4.127.0 a 4.134.0 do Snyk Broker usam uma versão afetada do OpenSSL 3.0 e devem ser atualizadas para a versão 4.135.0 ou mais recente. O Snyk Broker permite que os clientes integrem plataformas internas de SCM compatíveis com a Snyk.

Em 25 de outubro de 2022, o projeto OpenSSLanunciou o lançamento do OpenSSL (versão 3.0.7) para resolver uma vulnerabilidade crítica de segurança. As vulnerabilidades (são duas, na verdade) foram lançadas na terça-feira, 1º de novembro de 2022. O projeto OpenSSL publicou um post no blog detalhando os problemas e as correções. A Snyk também publicou um post para detalhar as vulnerabilidades e por que sua gravidade foi rebaixada de crítica para alta. Este post destaca como usar a Snyk para se preparar para vulnerabilidades como esta e foi atualizado com base nas informações mais recentes.

A Snyk publicou um aviso com os detalhes conhecidos no momento e atualizará a página se novos detalhes forem divulgados.

Sobre a vulnerabilidade

O projeto OpenSSL marcou a vulnerabilidade como crítica, mas afirmou que não afeta versões do OpenSSL anteriores à 3.0. Isso significa que, por enquanto, os usuários de versões do OpenSSL inferiores à 3.0 não deverão ser afetados.

A política de segurança do projeto OpenSSL descreve o que é considerado uma vulnerabilidade crítica:

Isso afeta configurações comuns e que também são propensas a serem exploradas. Entre os exemplos, estão divulgação significativa do conteúdo da memória do servidor (possivelmente revelando detalhes do usuário) e vulnerabilidades que podem ser exploradas remotamente com facilidade para comprometer chaves privadas do servidor e locais onde a execução remota de código é considerada provável em situações comuns. Esses problemas serão mantidos em sigilo e resultarão em um novo lançamento de todas as versões com suporte. Tentaremos resolver isso o mais rápido possível.

No blog do OpenSSL, você pode ler mais sobre por que o projeto decidiu rebaixar a gravidade para crítica.

Atualmente, as versões vulneráveis do OpenSSL (3.0 e superiores) são usadas em sistemas operacionais Linux, incluindo Ubuntu 22.04 LTS, RHEL 9 e outros. No entanto, outras distribuições do Linux, como Debian, só incluem OpenSSL 3.x nos lançamentos mais recentes, que ainda são considerados versões de teste. Portanto, o uso generalizado em sistemas de produção pode ser limitado. As imagens de contêiner criadas usando versões afetadas do Linux também serão afetadas, mas vale lembrar que muitas imagens oficiais populares do Docker usam Debian Bullseye (11) e Alpine, que ainda usam OpenSSL 1.x e não são afetadas. As imagens oficiais do Docker para projetos como nginx e httpd, comuns no tratamento de tráfego web, também usam Bullseye e Alpine e não são afetadas.

Por padrão, Node.js 18.x e 19.x também usam OpenSSL3. Por isso, esperamos atualizações do Node.js nos próximos dias.

Por fim, se seus próprios desenvolvedores usam C/C++, podem estar incorporando pacotes OpenSSL v3 ao código. Você deve verificar a existência de pacotes OpenSSL relevantes nesse código.

Como saber se o seu projeto está afetado antes da publicação das vulnerabilidades

Um dos pontos interessantes dessa vulnerabilidade é que, uma semana antes da sua divulgação, o projeto OpenSSL anunciou uma que estava prestes a lançar uma atualização importante de segurança. Como foi mencionado que havia pelo menos uma vulnerabilidade crítica, as pessoas tiveram tempo de descobrir como procurar aplicativos, contêineres e servidores possivelmente afetados. Obviamente, depois da publicação das vulnerabilidades, ferramentas de segurança como a Snyk detectam sua presença e fornecem correções. Mas como podemos usar a Snyk para criar um plano de ação antes da publicação da vulnerabilidade?

As etapas a seguir são específicas desta vulnerabilidade do OpenSSL, mas elas podem ser usadas para qualquer vulnerabilidade cujos detalhes sejam conhecidos com antecedência, desde que você tenha uma lista de materiais de software e realize uma análise completa de SCA para todos os seus pacotes e contêineres de código aberto.

Se você é cliente da Snyk com um plano Business ou Enterprise, pode encontrar todos os projetos que incluem versões vulneráveis do OpenSSL (3.0.x). Acesse Relatórios e Dependências. Na caixa de pesquisa, insira openssl para ver onde as versões 3.0.x podem estar em uso. O link Projetos leva aos projetos relevantes. Se preferir, exporte os dados para um arquivo CSV.

wordpress-sync/blog-openssl-critical-vuln-snykUI

Clientes com acesso às APIs da Snyk (planos Business e Enterprise) também podem usá-las para extrair esses dados. Por exemplo, você pode usar um utilitário fornecido pela equipe do Snyk Labs, snyk-deps-to-csv, que extrai dependências para um arquivo CSV. Você também pode acessar a API de dependências por conta própria.

Qualquer usuário da Snyk, incluindo os de contas gratuitas, pode verificar uma versão vulnerável do OpenSSL. Para isso, basta acessar o painel da Snyk, selecionar um projeto, clicar na guia de dependências e pesquisar por "openssl". Para reiterar, somente as versões 3.0.x do OpenSSL são afetadas.

wordpress-sync/blog-openssl-critcial-vuln-search

Se ainda não testou seus projetos com a Snyk, você pode fazer isso com a Snyk CLI:

  • Para verificar se projetos de código contêm pacotes de código aberto como o OpenSSL, ou dependências transitivas que usam o OpenSSL, execute snyk test para ver os resultados na própria CLI ou snyk monitor para vê-los na interface web da Snyk.

    • Se você está usando C/C++ e quer saber se o projeto tem o OpenSSL fora de um gerenciador de pacotes (não gerenciado), adicione a opção --unmanaged quando executar snyk test.

  • Para testar imagens de contêiner, execute snyk container test para ver os resultados na própria CLI ou snyk container monitor para enviá-los à interface de usuário web da Snyk.

  • Para qualquer um dos tipos de test mostrados acima, adicione a opção --print-deps para ver a lista de dependências na CLI. Se você está usando o comando monitor, as dependências são automaticamente relatadas na interface de usuário web da Snyk.

  • Caso use o Linux, você pode verificar a versão do OpenSSL executando o comando openssl version no terminal:

wordpress-sync/blog-openssl-critical-vuln-cli

Como mitigar a nova vulnerabilidade do OpenSSL

  1. Informe os membros da equipe sobre o anúncio da vulnerabilidade e a iminente atualização de segurança na próxima terça-feira, 1º de novembro de 2022. Ter uma equipe ciente do problema e da próxima atualização é a melhor maneira de se preparar.

  2. Avalie aplicativos e infraestrutura para determinar se você está usando o OpenSSL 3.0 ou superior em algum lugar.

  3. Prepare-se para atualizar as instalações vulneráveis do OpenSSL na terça-feira, 1º de novembro de 2022.

Essa vulnerabilidade será resolvida em nosso banco de dados quando os detalhes forem divulgados em 1º de novembro de 2022\. A partir desse momento, se você usar a Snyk para ajudar a detectar e corrigir vulnerabilidades, ela será detectada nas verificações. Você verá uma solicitação para atualizar as versões vulneráveis rastreadas pela Snyk quando as correções estiverem disponíveis.

Não entre em pânico!

Pode ser estressante gerenciar vulnerabilidades críticas, mas não há motivo para perder a calma. O projeto OpenSSL tem um longo histórico de responsabilidade no tratamento de incidentes de segurança e no fornecimento de correções oportunas.

Se você ainda não usa uma ferramenta de detecção de vulnerabilidades como a Snyk, esse pode ser um bom momento para experimentar. No caso de novos incidentes como este, elas ajudarão a notificar você sobre a ocorrência e possivelmente até ajudar a implementar as correções de segurança disponíveis.

É impossível corrigir todos os problemas, mas acompanhar os incidentes críticos e fazer atualizações rápidas é uma estratégia sólida para reduzir riscos e evitar violações.

Mais informações

Estes recursos adicionais sobre a vulnerabilidade iminente podem ser úteis na sua preparação: