Partilhar via


Boletim de Segurança

Microsoft Security Bulletin MS03-037 - Crítica

Falha no Visual Basic for Applications pode permitir a execução arbitrária de código (822715)

Publicado: terça-feira, 3 de setembro de 2003 | Atualizado: November 24, 2003

Versão: 1.1

Originalmente postado: 03 de setembro de 2003
Atualizado: November 24, 2003

Resumo

Quem deve ler este boletim: Clientes que usam aplicativos do Microsoft ® Office ou aplicativos que usam o Microsoft Visual Basic® for Applications.

Impacto da vulnerabilidade: Permitir que o invasor execute código arbitrário.

Classificação de gravidade máxima: Crítica

Recomendação: Os clientes que usam aplicativos do Microsoft ® Office ou Microsoft Visual Basic for Applications devem aplicar o patch o mais rápido possível.

Boletim do Usuário Final: Uma versão deste boletim para o usuário final está disponível em:

Disponível em: https:.

Software afetado:

  • SDK do Microsoft Visual Basic for Applications 5.0
  • SDK do Microsoft Visual Basic for Applications 6.0
  • SDK do Microsoft Visual Basic for Applications 6.2
  • SDK do Microsoft Visual Basic for Applications 6.3

Produtos que incluem o software afetado:

  • Microsoft Access 97
  • Microsoft Access 2000
  • Microsoft Access 2002
  • Microsoft Excel 97
  • Microsoft Excel 2000
  • Microsoft Excel 2002
  • Microsoft PowerPoint 97
  • Microsoft PowerPoint 2000
  • Microsoft PowerPoint 2002
  • Microsoft Project 2000
  • Microsoft Project 2002
  • Microsoft Publisher 2002
  • Microsoft Visio 2000
  • Microsoft Visio 2002
  • Microsoft Word 97
  • Microsoft Word 98(J)
  • Microsoft Word 2000
  • Microsoft Word 2002
  • Suíte do Microsoft Works 2001
  • Suíte do Microsoft Works 2002
  • Suíte do Microsoft Works 2003
  • Suite do Microsoft Works 2004
  • Microsoft Business Solutions Grandes Planícies 7.5
  • Soluções Empresariais Microsoft Dynamics 6.0
  • Soluções Empresariais Microsoft Dynamics 7.0
  • Soluções Empresariais Microsoft eEnterprise 6.0
  • Soluções Empresariais Microsoft eEnterprise 7.0
  • Soluções Empresariais Microsoft Salomão 4.5
  • Soluções Empresariais Microsoft Salomão 5.0
  • Soluções Empresariais Microsoft Salomão 5.5

Informações Gerais

Detalhes técnicos

Descrição técnica:

Microsoft VBA é uma tecnologia de desenvolvimento para desenvolver aplicativos de desktop cliente empacotado e integrá-los com dados e sistemas existentes. Microsoft VBA é baseado no sistema de desenvolvimento Microsoft Visual Basic. Os produtos do Microsoft Office incluem VBA e fazem uso do VBA para executar determinadas funções. O VBA também pode ser usado para criar aplicativos personalizados com base em um aplicativo host existente.

Existe uma falha na maneira como o VBA verifica as propriedades do documento passadas para ele quando um documento é aberto pelo aplicativo host. Existe uma saturação de buffer que, se explorada com êxito, pode permitir que um invasor execute o código de sua escolha no contexto do usuário conectado.

Para que um ataque seja bem-sucedido, um usuário teria que abrir um documento especialmente criado enviado a ele por um invasor. Este documento pode ser qualquer tipo de documento que suporte VBA, como um documento do Word, planilha do Excel, apresentação do PowerPoint. No caso em que o Microsoft Word está sendo usado como editor de email HTML para o Microsoft Outlook, este documento pode ser um email, no entanto, o usuário precisaria responder ou encaminhar a mensagem de email para que a vulnerabilidade seja explorada.

Fatores atenuantes:

  • O utilizador tem de abrir um documento que lhe foi enviado por um intruso para que esta vulnerabilidade seja explorada.
  • Quando o Microsoft Word está a ser utilizado como editor de correio eletrónico HTML no Outlook, um utilizador terá de responder ou reencaminhar um documento de correio eletrónico malicioso que lhe foi enviado para que esta vulnerabilidade seja explorada.
  • O código de um invasor só pode ser executado com os mesmos direitos que o usuário conectado. Os privilégios específicos que o invasor poderia obter com essa vulnerabilidade dependeriam, portanto, dos privilégios concedidos ao usuário. Quaisquer limitações na conta de um utilizador, tais como as aplicadas através de Políticas de Grupo, também limitariam as ações de qualquer código arbitrário executado por esta vulnerabilidade.

Classificação de gravidade:

SDK do Microsoft Visual Basic for Applications 5.0 Crítico
SDK do Microsoft Visual Basic for Applications 6.0 Crítico
SDK do Microsoft Visual Basic for Applications 6.2 Crítico
SDK do Microsoft Visual Basic for Applications 6.3 Crítico

A avaliação acima referida baseia-se nos tipos de sistemas afetados pela vulnerabilidade, nos seus padrões típicos de implantação e no efeito que a exploração da vulnerabilidade teria sobre eles.

Identificador de vulnerabilidade:CAN-2003-0347

Versões testadas:

A Microsoft testou o Microsoft Visual Basic for Applications SDK 5.0, o Microsoft Visual Basic for Applications SDK 6.0, o Microsoft Visual Basic for Applications SDK 6.2 e o Microsoft Visual Basic for Applications SDK 6.3 para avaliar se são afetados por esta vulnerabilidade. Além disso, a Microsoft investigou todas as versões suportadas do software listadas na secção "Produtos que incluem o software afetado" para determinar se incluíam o software vulnerável. As versões anteriores não são mais suportadas e podem ou não ser afetadas por essas vulnerabilidades.

Perguntas mais frequentes

Qual é o âmbito da vulnerabilidade?
Esta é uma vulnerabilidade de saturação de buffer que pode permitir que um invasor execute código arbitrário de sua escolha na máquina de um usuário no contexto de segurança desse usuário, se o usuário abrir um documento especialmente malformado.

O que causa a vulnerabilidade?
A vulnerabilidade resulta de uma falha na maneira como o Microsoft Visual Basic for Applications (VBA) verifica determinadas propriedades do documento que são passadas para ele a partir de um aplicativo host quando um documento é aberto. Como resultado, é possível que o aplicativo host passe parâmetros não verificados para o Microsoft VBA, causando uma condição de saturação de buffer que pode permitir a execução de código arbitrário.

O que é o Microsoft VBA?
Microsoft VBA é uma tecnologia de desenvolvimento para desenvolver aplicativos de desktop cliente empacotado e integrá-los com dados e sistemas existentes. VBA é baseado no sistema de desenvolvimento Microsoft Visual Basic. Visual Basic for Applications fornece um ambiente de desenvolvimento integrado (IDE) que apresenta os mesmos elementos familiares aos desenvolvedores que usam o Microsoft Visual Basic, incluindo uma janela de projeto, uma janela de propriedades e ferramentas de depuração. O Microsoft VBA também inclui suporte para Microsoft Forms, para criar caixas de diálogo personalizadas, e Controles ActiveX®, para criar interfaces de usuário. O VBA é integrado diretamente em um aplicativo host. Os programas de software que incluem VBA são chamados de aplicativos-aplicativos personalizáveis que podem ser adaptados para atender às necessidades específicas do negócio. O Microsoft Office é um dos muitos aplicativos que incorpora o Microsoft VBA, permitindo que os clientes desenvolvam aplicativos personalizados baseados no Microsoft Office. Há também outros aplicativos que não são da Microsoft que incorporam o Microsoft VBA.

O que há de errado com o Microsoft VBA?
Quando um documento é aberto por um aplicativo que suporta o Microsoft VBA, o aplicativo host executa uma verificação para determinar se o Microsoft VBA é exigido pelo documento e, portanto, deve ser carregado. Durante essa verificação inicial, algumas propriedades do documento são passadas para o Microsoft VBA - existe uma falha porque o Microsoft VBA não valida corretamente os dados que são passados para ele durante essa fase inicial.

Isso significa que o Microsoft Office não verifica corretamente a segurança em um documento?
Não - a falha está em um processo que é iniciado antes de qualquer verificação de segurança ocorrer. A falha está na verificação inicial para determinar se o Microsoft VBA é exigido pelo aplicativo host para lidar com o documento que está sendo aberto. Como resultado, quaisquer verificações de segurança, como verificações de proteção de macro, não teriam ocorrido quando a vulnerabilidade pudesse ser encontrada.

O que essa vulnerabilidade pode permitir que um invasor faça?
Esta vulnerabilidade pode permitir que um invasor execute o código de sua escolha no contexto do usuário conectado.

Como poderia um intruso explorar esta vulnerabilidade?
Um intruso poderia tentar explorar esta vulnerabilidade enviando a um utilizador um documento especialmente concebido para o efeito concebido para explorar esta vulnerabilidade e incentivando-o a abrir o documento. Quando o usuário abria o documento, isso poderia causar a execução de código arbitrário no sistema no contexto de segurança do usuário conectado. No caso em que o Microsoft Word está sendo usado como editor de email para o Microsoft Outlook - que é a configuração padrão para o Office XP - um invasor pode enviar um email especialmente criado para o usuário e pode fazer com que um código arbitrário seja executado se o usuário responder ou encaminhar o email. Um invasor também pode tentar explorar essa vulnerabilidade criando um documento mal-intencionado e hospedando-o em uma página da Web e, em seguida, aliciando um usuário a visitar o site. Se o usuário visitasse o site e seguisse um link para o documento, o documento poderia abrir automaticamente e, portanto, poderia permitir a execução de código arbitrário.

Se eu estiver usando o Microsoft Word como meu editor de email, a vulnerabilidade pode ser explorada apenas através da leitura de email?
Não - a simples leitura de e-mails não permitirá que a vulnerabilidade seja explorada. O usuário deve responder ou encaminhar o e-mail do invasor.

O que faz o sistema transdérmico?
O patch elimina a vulnerabilidade, garantindo que o Microsoft VBA realize as verificações apropriadas nos dados passados a ele por um aplicativo host quando um documento é aberto.

Existem vários patches disponíveis para esta vulnerabilidade? Qual devo instalar?
Isso depende de qual versão do Microsoft VBA e qual aplicativo host você está usando:

Patch do Microsoft VBA:

Se você estiver usando qualquer um dos seguintes aplicativos, você deve aplicar a versão do Microsoft VBA do patch:

  • Microsoft VBA 5.0
  • Microsoft VBA 6.0
  • Microsoft VBA 6,2
  • Microsoft VBA 6.3.
  • Microsoft Access 97
  • Microsoft Excel 97
  • Microsoft PowerPoint 97
  • Microsoft Word 97
  • Microsoft Word 98(J)
  • Microsoft Works 2001
  • Microsoft Works 2002
  • Suíte do Microsoft Works 2003
  • Microsoft Business Solutions Grandes Planícies 7.5
  • Soluções Empresariais Microsoft Dynamics 6.0
  • Soluções Empresariais Microsoft Dynamics 7.0
  • Soluções Empresariais Microsoft eEnterprise 6.0
  • Soluções Empresariais Microsoft eEnterprise 7.0
  • Soluções Empresariais Microsoft Salomão 4.5
  • Soluções Empresariais Microsoft Salomão 5.0
  • Soluções Empresariais Microsoft Salomão 5.5

Patches do Microsoft Project 2000, Microsoft Project 2002 e Microsoft Visio:

Se estiver a utilizar o Microsoft Project ou o Microsoft Visio, deve aplicar a versão específica do patch para esses produtos.

Patches do Microsoft Office 2000 e Microsoft Office XP:

Se estiver a utilizar o Microsoft Office 2000 ou o Microsoft Office XP (incluindo o Publisher 2002), deverá aplicar a versão específica do patch para esses produtos.

Estou usando mais de um dos produtos listados acima. Devo aplicar o adesivo específico para cada produto?
Sim, você deve corrigir cada produto listado acima. Por exemplo, se você estiver usando o Microsoft Office XP e o Microsoft Visio 2000, deverá aplicar as versões do patch para Microsoft Office XP e Microsoft Visio.

Como faço para saber qual versão do Microsoft VBA estou usando?
Para verificar se o VBA está presente no seu sistema e para identificar qual versão você está executando, verifique os seguintes arquivos (onde C:\ é a unidade do sistema):

  • C:\Program Files\Common Files\Microsoft Shared\VBA\vbe.dll - se este arquivo estiver presente, você tem o VBA 5.0.
  • C:\Program Files\Common Files\Microsoft Shared\VBA\VBA6\vbe6.dll - se este arquivo estiver presente, você tem o VBA 6.0.

Eu tenho um aplicativo não-Microsoft que faz uso do Microsoft VBA. O que devo fazer?
A Microsoft trabalhou com terceiros 3rd que desenvolvem aplicativos usando o Microsoft VBA para garantir que eles estejam cientes dessa vulnerabilidade de segurança e que tenham as atualizações necessárias para o Microsoft VBA para incorporar em seus produtos. Deve contactar o fornecedor do software para obter atualizações para quaisquer aplicações que não sejam da Microsoft que utilizem o Microsoft VBA.

Disponibilidade do patch

Locais de download para este patch Existem várias versões deste patch, dependendo de qual aplicativo você tem que usa VBA. Recomenda-se vivamente que leia as perguntas frequentes acima intituladas "Existem vários patches disponíveis para esta vulnerabilidade? Qual devo instalar?" para determinar qual a versão do sistema transdérmico que deve aplicar.

Informações adicionais sobre este patch

Plataformas de instalação:

  • O patch do Microsoft Office 2000 pode ser instalado em sistemas que executam o Microsoft Office 2000 Service Pack 3. (A atualização administrativa pode ser instalada em sistemas que executam o Office 2000 Service Pack 3).
  • O patch do Microsoft Office XP pode ser instalado em sistemas que executam o Microsoft Office XP Service Pack 2, Microsoft Works 2002 e Microsoft Works 2003. (A atualização administrativa pode ser instalada em sistemas que executam o Office XP Service Pack 1).
  • O patch do Microsoft Visio 2002 pode ser instalado em sistemas que executam o Microsoft Visio 2002.
  • O patch do Microsoft VBA pode ser instalado em sistemas que executam:
    • Microsoft VBA 5.0
    • Microsoft VBA 6.0
    • Microsoft VBA 6,2
    • Microsoft VBA 6.3.
    • Microsoft Access 97
    • Microsoft Excel 97
    • Microsoft PowerPoint 97
    • Microsoft Word 97
    • Microsoft Word 98(J)
    • Microsoft Word 98(J)
    • Microsoft Visio 2000
    • Suíte do Microsoft Works 2001
    • Microsoft Business Solutions Grandes Planícies 7.5
    • Soluções Empresariais Microsoft Dynamics 6.0
    • Soluções Empresariais Microsoft Dynamics 7.0
    • Soluções Empresariais Microsoft eEnterprise 6.0
    • Soluções Empresariais Microsoft eEnterprise 7.0
    • Soluções Empresariais Microsoft Salomão 4.5
    • Soluções Empresariais Microsoft Salomão 5.0
    • Soluções Empresariais Microsoft Salomão 5.5

Inclusão em service packs futuros:

A correção para esse problema será incluída em quaisquer service packs futuros para Microsoft Office XP, Microsoft Office 2000, Microsoft Project 2002, Microsoft Project 2000 e Microsoft Visio 2002.

Reinicialização necessária:

Se vbe.dll ou vbe6.dll estiverem em uso no momento da instalação, uma reinicialização será necessária para concluir a instalação.

O patch pode ser desinstalado: Não

Patches substituídos: Nenhum.

Verificando a instalação do patch:

Patches do Microsoft Office, Project ou Visio:

Verifique se as versões dos seguintes ficheiros são as seguintes (se C:\ não for a unidade do sistema, verifique a unidade que contém a pasta \Program Files):

  • C:\Arquivos de Programas\Common Files\Microsoft Shared\VBA\VBA6\vbe6.dll = 6.4.99.69

Patch do Microsoft VBA:

Verifique as versões dos seguintes arquivos são como abaixo:

  • VBA 5 - C:\Arquivos de Programas\Common Files\Microsoft Shared\VBA\vbe.dll = 5.0.78.15
  • VBA 6- C:\Arquivos de Programas\Common Files\Microsoft Shared\VBA\VBA6\vbe6.dll = 6.4.99.69

Advertências:

Nenhuma

Localização:

As versões localizadas deste patch estão disponíveis nos locais discutidos em "Disponibilidade do patch".

Obtenção de outros patches de segurança:

Patches para outros problemas de segurança estão disponíveis nos seguintes locais:

  • Os patches de segurança estão disponíveis no Centro de Download da Microsoft e podem ser encontrados mais facilmente fazendo uma pesquisa de palavra-chave para "security_patch".
  • Os patches para plataformas de consumidor estão disponíveis no site WindowsUpdate

Informações suplementares:

Agradecimentos

A Microsoft agradece àeEye Digital Security por nos comunicar este problema e trabalhar connosco para proteger os clientes.

Suporte:

  • O artigo 822715 da Base de Dados de Conhecimento Microsoft discute esse problema. Os artigos da Base de Dados de Conhecimento podem ser encontrados no site de Suporte Online da Microsoft.
  • O suporte técnico está disponível no Atendimento Microsoft. Não há cobrança para chamadas de suporte associadas a patches de segurança.

Recursos de segurança: O site Microsoft TechNet Security fornece informações adicionais sobre segurança em produtos Microsoft.

Exclusão de responsabilidade:

As informações fornecidas na Base de Dados de Conhecimento Microsoft são fornecidas "no estado em que se encontram", sem garantia de qualquer tipo. A Microsoft se isenta de todas as garantias, expressas ou implícitas, incluindo as garantias de comercialização e adequação a uma finalidade específica. Em nenhuma circunstância a Microsoft Corporation ou seus fornecedores serão responsáveis por quaisquer danos, incluindo danos diretos, indiretos, incidentais, consequenciais, perda de lucros comerciais ou danos especiais, mesmo que a Microsoft Corporation ou seus fornecedores tenham sido avisados da possibilidade de tais danos. Alguns estados não permitem a exclusão ou limitação de responsabilidade por danos consequenciais ou incidentais, portanto, a limitação acima pode não se aplicar.

Revisões:

  • V1.0 (03 de setembro de 2003): Boletim criado.
  • V1.1 (24 de novembro de 2003): Adicionado o Microsoft Works Suite 2004 aos produtos afetados.

Construído em 2014-04-18T13:49:36Z-07:00</https:>