CERT Coordination Center

NBSO - NIC BR Security Office
CGI.br - Comitê Gestor da Internet no Brasil
Chave PGP: http://www.nbso.nic.br/pgp/nbso@nic.br.asc

Tradução dos Advisories do CERT/CC, com permissão especial do Software Engineering Institute (SEI).

CERT® Advisory CA-2002-23 Múltiplas Vulnerabilidades no OpenSSL

Data original de lançamento: 30 de julho de 2002
Última Revisão: --
Origem: CERT/CC

Um histórico completo das revisões pode ser encontrado ao final deste documento.

Sistemas Afetados

  • Versões de OpenSSL anteriores a 0.9.6e, incluindo pre-release 0.9.7-beta2 e anteriores
  • OpenSSL pre-release 0.9.7-beta2 e anteriores com Kerberos habilitado
  • Biblioteca SSLeay

Resumo

Existem quatro "buffer overflows" no OpenSSL que podem ser explorados remotamente. Existem, também, problemas de codificação na biblioteca ASN.1 utilizada pelo OpenSSL. Muitas destas vulnerabilidades podem ser utilizadas por um invasor remoto para executar código arbitrário no sistema alvo. Todas elas podem ser utilizadas para gerar negação de serviço.

I. Descrição

O OpenSSL é uma implementação "open source" amplamente utilizada dos protocolos SSL v2/v3 (Secure Sockets Layer) e TLS v1 (Transport Layer Security) bem como uma biblioteca criptográfica completa de propósito geral. Os protocolos SSL e TLS são utilizados para prover uma conexão segura entre um cliente e um servidor para protocolos de alto nível como o HTTP. Existem quatro vulnerabilidades em muitos sistemas clientes e servidores OpenSSL que podem ser exploradas remotamente.

VU#102795 - Os servidores OpenSSL contêm um "buffer overflow" durante o processo de "handshake" do SSLv2

As versões dos servidores OpenSSL anteriores a 0.9.6e e "pre-release" 0.9.7-beta2 contêm uma vulnerabilidade de "buffer overflow" que pode ser explorada remotamente. Esta vulnerabilidade pode ser explorada por um cliente que utilize uma chave mal-formada durante o processo de "handshake" em uma conexão com um servidor SSL. Note que somente as sessões que suportam o SSLv2 são afetadas por este problema.

Este problema também está sendo referenciado como CAN-2002-0656.

VU#258555 - Clientes OpenSSL contêm um "buffer overflow" durante o processo de "handshake" do SSLv3

Clientes OpenSSL utilizando o SSLv3 nas versões anteriores a 0.9.6e e "pre-release" 0.9.7-beta2 contêm uma vulnerabilidade de "buffer overflow". Um servidor malicioso pode explorar isto enviando um "session ID" grande para o cliente durante o processo de "handshake".

Este problema também está sendo referenciado como CAN-2002-0656.

VU#561275 - Servidores OpenSSL com Kerberos habilitado contêm uma vulnerabilidade de "buffer overflow" que pode ser explorada remotamente durante o processo de "handshake" do SSLv3

Servidores executando o OpenSSL versão "pre-release" 0.9.7 com Kerberos habilitado contêm um "buffer overflow" que pode ser explorado remotamente. Esta vulnerabilidade pode ser explorada por um cliente malicioso que envie uma chave mal-formada durante o processo de "handshake" do SSLv3 com o servidor.

Este problema também está sendo referenciado como CAN-2002-0657.

VU#308891 - O OpenSSL contém múltiplos "buffer overflows" nos "buffers" que são utilizados para armazenar as representações ASCII de inteiros

Clientes e servidores OpenSSL anteriores às versões 0.9.6e e "pre-release" 0.9.7-beta2 contêm múltiplas vulnerabilidades de "buffer overflow" que podem ser exploradas remotamente, se executado em plataformas 64-bits. Estes "buffers" são utilizados para armazenar representações ASCII de inteiros.

Este problema também está sendo referenciado como CAN-2002-0655.

Adicionalmente, foi identificado um problema separado no OpenSSL envolvendo codificações ASN.1 mal-formadas. Os componentes afetados incluem aplicações SSL ou TLS, assim como rotinas de criação de certificados, S/MIME e PKCS#7.

VU#748355 - Existem erros de codificação ASN.1 nas implementações das rotinas SSL, TLS, S/MIME, PKCS#7

A biblioteca ASN.1 utilizada pelo OpenSSL possui vários erros de codificação que possibilitam que codificações mal-formadas de certificados sejam analisadas incorretamente. A exploração desta vulnerabilidade pode levar a problemas de negação remota de serviço. As rotinas afetadas incluem aquelas que suportam aplicações SSL e TLS, assim como aquelas que suportam S/MIME, PKCS#7 e criação de certificados.

Este problema também está sendo referenciado como CAN-2002-0659.

Embora estas vulnerabilidades afetem o OpenSSL, outras implementações do protocolo SSL que usam ou compartilham uma mesma base de código podem ser afetadas. Isto inclui implementações que são derivadas da biblioteca SSLeay desenvolvida por Eric A. Young e Tim J. Hudson.

Como foi observado no advisory do OpenSSL, sites que executam servidores OpenSSL 0.9.6d em plataformas 32-bits com o "handshaking" de SSLv2 desabilitado não serão afetados por qualquer um dos "buffer overflows" descritos acima. Entretanto, devido à natureza dos erros de codificação ASN.1, estes sites ainda podem ser afetados por situações de negação de serviço.

II. Impacto

Pela exploração dos "buffer overflows" acima, um invasor remoto pode executar código arbitrário em um sistema servidor ou cliente vulnerável ou causar uma situação de negação de serviço. A exploração dos erros de codificação ASN.1 pode levar a uma negação de serviço.

III. Solução

Aplicar uma correção de seu fornecedor

O apêndice A contém informações providas pelos fornecedores para este advisory. À medida que os fornecedores enviarem novas informações ao CERT/CC, este documento será atualizado e as modificações serão registradas no histórico de revisões. Se um fornecedor em particular não estiver listado abaixo é porque não recebemos os seus comentários. Por favor, contate diretamente o seu forcedor.

Atualizar a versão do OpenSSL para 0.9.6e

Atualizar a versão do OpenSSL para 0.9.6e de forma a resolver os problemas discutidos neste advisory. Como observado no advisory do OpenSSL, estão disponíveis correções em separado:

Correções conjuntas para o OpenSSL 0.9.6d:
http://www.openssl.org/news/patch_20020730_0_9_6d.txt

Após aplicar as correções acima ou atualizar para 0.9.6e, recompilar todas as aplicações que usam OpenSSL para suportar os serviços SSL ou TLS e reiniciar tais serviços ou sistemas. Isto irá eliminar todo código sabidamente vulnerável.

Sites executando o OpenSSL versão "pre-release" 0.9.7-beta2 podem querer atualizá-lo para 0.9.7-beta3, que corrige estas vulnerabilidades. Correções em separado também estão disponíveis:

Correções conjuntas para o OpenSSL 0.9.7 beta 2:
http://www.openssl.org/news/patch_20020730_0_9_7.txt

Desabilitar as aplicações ou serviços vulneráveis

Até que as correções para estas vulnerabilidades possam ser aplicadas, desabilite todas as aplicações que utilizam implementações vulneráveis do OpenSSL. Sistemas com OpenSSL 0.9.7 "pre-release" com Kerberos habilitado também necessitam desabilitar o Kerberos para proteger-se contra a VU#561275. Como boa prática, o CERT/CC recomenda desativar todos os serviços que não são explicitamente requeridos. Antes de decidir pela desabilitação do SSL ou do TLS, considere cuidadosamente o impacto que isto terá nos requisitos do seu serviço.

A desabilitação do "handshaking" do SSLv2 previne a exploração da VU#102795. Entretanto, devido à natureza dos erros de codificação ASN.1, estes sites ainda serão vulneráveis aos ataques de negação de serviço.

Apêndice A. - Informações dos Fornecedores

Este apêndice contém informações providas pelos próprios fornecedores para inclusão neste documento. À medida que os fornecedores enviarem novas informações ao CERT/CC, este documento será atualizado e as modificações serão registradas no histórico de revisões. Se algum fornecedor em particular não estiver listado abaixo é porque não recebemos seus comentários.

OpenLDAP

O Projeto OpenLDAP utiliza o OpenSSL. A recompilação do OpenLDAP com versões atualizadas do OpenSSL deve corrigir adequadamente os problemas reportados. Aqueles que estiverem usando pacotes do OpenLDAP distribuídos por terceiros deverão contactá-los para obter informações sobre atualização.

OpenSSL

Por favor, veja http://www.openssl.org/news/secadv_20020730.txt.

Red Hat

A Red Hat distribui versões afetadas do OpenSSL em todas as distribuições do Red Hat Linux assim como no servidor web Stronghold. Pacotes de errata do Red Hat Linux que corrigem as vulnerabilidades acima (CAN-2002-0655 e CAN-2002-0656) estão disponíveis na URL abaixo. Usuários da Red Hat Network podem atualizar seus sistemas utilizando a ferramenta 'up2date'. Uma atualização futura corrigirá o potencial DoS remoto na codificação ASN.1 (CAN-2002-0659).

Estas vulnerabilidades foram descobertas e reportadas pelos seguintes:

O CERT/CC agradece ao "OpenSSL team" pelo trabalho dispendido em seu advisory, no qual este documento é amplamente baseado.

Comentários podem ser enviados aos autores: Jason A. Rafail, Cory F. Cohen, Jeffrey S. Havrilla, Shawn V. Hernan.

Tradução: Luiz Eduardo Roncato Cordeiro

Revisão Técnica: Rafael Obelheiro e Cristine Hoepers

Esta versão traduzida do documento pode ser obtida em: http://www.nbso.nic.br/certcc/advisories/CA-2002-23-br.html

A versão original, em Inglês, deste documento pode ser obtida em: http://www.cert.org/advisories/CA-2002-23.html

Informações de Contato do CERT/CC

Email: cert@cert.org
Telefone: +1 412-268-7090 (Hotline 24 horas)
Fax: +1 412-268-6989
Endereço para correspondência:
CERT Coordination Center
Software Engineering Institute
Carnegie Mellon University
Pittsburgh PA 15213-3890
U.S.A.

O pessoal do CERT/CC atende ao hotline no período das 8:00 às 17:00h EST(GMT-5), de segunda a sexta-feira; nos demais períodos eles atendem em esquema emergencial, incluindo finais de semana e feriados dos Estados Unidos.

Utilização de criptografia

Nós recomendamos fortemente que informações sensíveis sejam criptogradas ao serem enviadas por email. Nossa chave pública PGP está disponível em:

Se você preferir utilizar DES, por favor telefone para o hotline do CERT para obter maiores informações.

Obtendo informações sobre segurança

As publicações do CERT e outras informações sobre segurança estão disponíveis em nosso site:

Para inscrever-se na lista de advisories e boletins do CERT, envie um email para majordomo@cert.org, incluindo o seguinte no corpo da sua mensagem:

subscribe cert-advisory

* "CERT" and "CERT Coordination Center" are registered in the U.S. Patent and Trademark Office.

Translations of CERT/CC Advisories, (c) 2002 by Carnegie Mellon University, with special permission from the Software Engineering Institute.

Accuracy and interpretation of this translation are the responsibility of NBSO. The SEI has not participated in this translation.

NBSO shall ensure that all translated materials incorporate the CERT/CC logos, service marks, and/or trademarks, as well as a link to the original English version on the CERT web site (www.cert.org).

NBSO shall ensure that all translated materials are translated in their entirety and that the SEI will be notified of which CERT/CC Advisories are being translated. Notifications go to cert@cert.org.

NO WARRANTY. THIS CARNEGIE MELLON UNIVERSITY AND SOFTWARE ENGINEERING INSTITUTE MATERIAL IS FURNISHED ON AN "AS IS" BASIS. CARNEGIE MELLON UNIVERSITY MAKES NO WARRANTIES OF ANY KIND, EITHER EXPRESSED OR IMPLIED AS TO ANY MATTER INCLUDING, BUT NOT LIMITED TO, WARRANTY OF FITNESS FOR PURPOSE OR MERCHANTABILITY, EXCLUSIVITY OR RESULTS OBTAINED FROM USE OF THE MATERIAL. CARNEGIE MELLON UNIVERSITY DOES NOT MAKE ANY WARRANTY OF ANY KIND WITH RESPECT TO FREEDOM FROM PATENT, TRADEMARK, OR COPYRIGHT INFRINGEMENT.

CMU Indemnification. NBSO hereby agrees to defend, indemnify, and hold harmless CMU, its trustees, officers, employees, and agents from all claims or demands made against them (and any related losses, expenses, or attorney's fees) arising out of, or relating to NBSO's and/or its sublicensees' negligent use or willful misuse of or negligent conduct or willful misconduct regarding CMU in tellectual Property, facilities, or other rights or assistance granted by CMU under this Agreement, including, but not limited to, any claims of product liability, personal injury, death, damage to property, or violation of any laws or regulations. This indemnification will not apply to claims by third parties which allege that CMU Intellectual Property infringes on the intellectual property rights of such third parties, unless such infringement results from NBSO modifying CMU Intellectual Property or combining it with other intellectual property.

Disputes. This Agreement shall be governed by the laws of the Commonwealth of Pennsylvania. Any dispute or claim arising out of or relating to this Agreement will be settled by arbitration in Pittsburgh, Pennsylvania in accordance with the rules of the American Arbitration Association and judgment upon award rendered by the arbitrator(s) may be entered in any court having jurisdiction.

No Endorsement. The SEI and CMU do not directly or indirectly endorse NBSO work.

Translations of CMU/SEI copyrighted material are not official SEI-authorized translations. NBSO agrees to assign and transfer to CMU/SEI all copyrights in the translation of any CMU/SEI document.

This permission is granted on a non-exclusive basis for non-commercial purposes.

Conditions for use, disclaimers, and sponsorship information

Copyright 2002 Carnegie Mellon University.

Histórico de Revisões
30 de julho de 2002: Lançamento da versão inicial

Valid
XHTML 1.0! Valid CSS! NBSO -- NIC BR Security Office
$Date: 2005/06/14 13:03:34 $