|
Microsoft Security Bulletin MS03-037
Falha no Visual Basic for Applications pode permitir execução de código arbitrário (822715)
Publicado originalmente em:
03 de setembro de 2003
Resumo
Quem deve ler este boletim:
Clientes que usam o Microsoft® Office, Microsoft FrontPage, Microsoft Publisher ou Microsoft Works Suite.
Impacto da vulnerabilidade:
Permite que o invasor execute códigos arbitrários.
Classificação máxima de gravidade:
Crítica
Recomendação:
Os clientes que usam aplicativos do Microsoft ® Office ou o Microsoft Visual Basic for Applications devem aplicar o patch assim que possível.
Softwares afetados:
Microsoft Visual Basic for Applications SDK 5.0
Microsoft Visual Basic for Applications SDK 6.0
Microsoft Visual Basic for Applications SDK 6.1
Microsoft Visual Basic for Applications SDK 6.2
Produtos que incluem softwares afetados:
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
Microsoft Works Suite 2001
Microsoft Works Suite 2002
Microsoft Works Suite 2003
Microsoft Business Solutions Great Plains 7.5
Microsoft Business Solutions Dynamics 6.0
Microsoft Business Solutions Dynamics 7.0
Microsoft Business Solutions eEnterprise 6.0
Microsoft Business Solutions eEnterprise 7.0
Microsoft Business Solutions Solomon 4.5
Microsoft Business Solutions Solomon 5.0
Microsoft Business Solutions Solomon 5.5
Detalhes Técnicos
Descrição técnica:
O Microsoft VBA é uma tecnologia de desenvolvimento para criar aplicativos empacotados do lado cliente (desktops) e integrá-los aos dados e sistemas existentes. O Microsoft VBA é baseado no sistema de desenvolvimento do Microsoft Visual Basic. Os produtos Microsoft Office incluem o VBA e usam-no para executar determinadas funções. O VBA também pode ser usado para criar aplicativos personalizados com base em um aplicativo host existente.
Há uma falha no modo como o VBA verifica as propriedades dos documentos transmitidos a ele quando um documento é aberto por um aplicativo host. Há uma saturação de buffer que, se explorada com sucesso, pode permitir que um invasor execute códigos de sua escolha no contexto do usuário conectado.
Para que um ataque seja bem-sucedido, um usuário deve abrir um documento criado especialmente, enviado a ele por um invasor. Esse documento pode ser de qualquer tipo que forneça suporte a VBA, como um documento do Word, planilha do Excel e apresentação do PowerPoint. Caso o Microsoft Word esteja sendo usado como o editor de email em HTML para o Microsoft Outlook, esse documento poderá ser um email. Contudo, o usuário deverá responder ou encaminhar a mensagem de email para que a vulnerabilidade seja explorada.
Fatores atenuantes:
O usuário deve abrir um documento enviado a ele por um invasor para que a vulnerabilidade seja explorada.
Quando o Microsoft Word estiver sendo usado como o editor de texto em HTML no Outlook, um usuário deverá responder ou encaminhar um documento de email mal-intencionado enviado a ele para que essa vulnerabilidade seja explorada.
Um código do invasor pode ser executado somente com os mesmos direitos do usuário conectado. Os privilégios específicos que o invasor pode obter por meio dessa vulnerabilidade dependerão dos privilégios concedidos ao usuário. Quaisquer limitações na conta do usuário, como aquelas aplicadas pelas Diretivas de Grupo, também limitarão as ações de qualquer código arbitrário executado por essa vulnerabilidade.
|
Microsoft Visual Basic for Applications SDK 5.0 |
Crítica |
|
Microsoft Visual Basic for Applications SDK 6.0 |
Crítica |
|
Microsoft Visual Basic for Applications SDK 6.2 |
Crítica |
|
Microsoft Visual Basic for Applications SDK 6.3 |
Crítica |
A
avaliação
(site em inglês) acima se baseia nos tipos de sistemas afetados pela vulnerabilidade, seus padrões comuns de implantação e o efeito da exploração da vulnerabilidade sobre eles.
Identificador da vulnerabilidade:
CAN-2003-0347
(site em inglês)
Versões testadas:
A Microsoft testou o Microsoft Visual Basic for Applications SDK 5.0, Microsoft Visual Basic for Applications SDK 6.0, Microsoft Visual Basic for Applications SDK 6.2 e Microsoft Visual Basic for Applications SDK 6.3 para avaliar se eles são afetados por essa vulnerabilidade. Além disso, a Microsoft investigou todas as versões de software, às quais é fornecido suporte, relacionadas na seção “Produtos que incluem os softwares afetados” para determinar se eles incluíam o software vulnerável. Não há mais
suporte
(site em inglês) para as versões anteriores e elas podem ou não ser afetadas por essa vulnerabilidade.
Perguntas freqüentes
Qual é o escopo dessa vulnerabilidade?
Essa é uma vulnerabilidade de saturação de buffer que pode permitir a um invasor executar códigos arbitrários de sua escolha na máquina do usuário no contexto de segurança desse usuário, se ele abrir um documento propositadamente malformado.
O que provoca a vulnerabilidade?
A vulnerabilidade ocorre devido a uma falha no modo como o Microsoft Visual Basic for Applications (VBA) verifica determinadas propriedades de documentos, transmitidas a ele de um aplicativo host quando um documento é aberto. Como resultado, é possível que o aplicativo host transmita parâmetros não verificados ao Microsoft VBA, causando uma condição de saturação de buffer que permite a execução de códigos arbitrários.
O que é o Microsoft VBA?
O Microsoft VBA é uma tecnologia de desenvolvimento para criar aplicativos empacotados do lado cliente (desktops) e integrá-los aos dados e sistemas existentes. O VBA é baseado no sistema de desenvolvimento do Microsoft Visual Basic. O Visual Basic for Applications fornece um IDE (ambiente de desenvolvimento integrado) que oferece os mesmos elementos conhecidos dos desenvolvedores que usam o Microsoft Visual Basic, incluindo uma Janela de projetos, uma Janela de propriedades e ferramentas de depuração. O Microsoft VBA também inclui suporte para o Microsoft Forms, para criação de caixas de diálogo personalizadas e Controles ActiveX®, para criação de interfaces do usuário. O VBA é integrado diretamente ao aplicativo host. Os programas de software que incluem o VBA são chamados de aplicativos personalizáveis – aplicativos que podem ser ajustados de acordo com as necessidades específicas dos negócios.
O Microsoft Office é um dos vários aplicativos que incorporam o Microsoft VBA, permitindo que os clientes desenvolvam aplicativos personalizados com base no Microsoft Office. Há também outros aplicativos de terceiros que incorporam o Microsoft VBA.
O que há de errado com o Microsoft VBA?
Quando um documento é aberto por um aplicativo que fornece suporte ao Microsoft VBA, o aplicativo host executa uma verificação para determinar se o Microsoft VBA é necessário para o documento e se deve, portanto, ser carregado. Durante essa verificação inicial algumas propriedades de documentos são transmitidas ao Microsoft VBA – uma falha ocorre porque o Microsoft VBA não valida corretamente os dados transmitidos durante essa fase inicial.
Isso significa que o Microsoft Office não verifica a segurança de um documento de forma correta?
Não – a falha está no processo que é iniciado antes de qualquer verificação de segurança. A falha está na verificação inicial para determinar se o Microsoft VBA é exigido pelo aplicativo host para tratar o documento que está sendo aberto. Como resultado, qualquer verificação de segurança, como verificações de proteção contra Macros, não ocorrerá quando a vulnerabilidade for encontrada.
O que o invasor pode fazer em decorrência da vulnerabilidade?
Essa vulnerabilidade permite que um invasor execute códigos de sua escolha no contexto do usuário conectado.
De que forma o invasor pode explorar a vulnerabilidade?
Um invasor pode tentar explorar essa vulnerabilidade, enviando ao usuário um documento criado especialmente para explorar essa vulnerabilidade e encorajando-o a abrir esse documento. Quando o usuário abre o documento, códigos arbitrários podem ser executados no sistema no contexto de segurança do usuário conectado. No caso em que o Microsoft Word estiver sendo usado como o editor de email para o Microsoft Outlook – que é a configuração padrão para o Office XP – um invasor poderá enviar ao usuário um email especialmente criado e fazer com que códigos arbitrários sejam executados se o usuário responder ou encaminhar o email.
Se eu estiver usando o Microsoft Word como meu editor de email, a vulnerabilidade poderá ser explorada simplesmente pela leitura do email?
Não – a simples leitura do email não permitirá que a vulnerabilidade seja explorada. Para que isso aconteça, o usuário deve responder ou encaminhar o email do invasor.
O que o patch faz?
O patch elimina a vulnerabilidade, garantindo que o Microsoft VBA execute as verificações adequadas nos dados transmitidos por um aplicativo host quando um documento é aberto.
Há vários patches disponíveis para essa vulnerabilidade? Qual deles devo instalar?
Isso depende da versão do Microsoft VBA e do aplicativo host que estiver utilizando:
Patch do Microsoft VBA:
Se você estiver usando qualquer um destes aplicativos, será necessário aplicar a versão do patch para o Microsoft VBA:
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
Microsoft Works Suite 2003
Microsoft Business Solutions Great Plains 7.5
Microsoft Business Solutions Dynamics 6.0
Microsoft Business Solutions Dynamics 7.0
Microsoft Business Solutions eEnterprise 6.0
Microsoft Business Solutions eEnterprise 7.0
Microsoft Business Solutions Solomon 4.5
Microsoft Business Solutions Solomon 5.0
Microsoft Business Solutions Solomon 5.5
Patches do Microsoft Project 2000, Microsoft Project 2002 e Microsoft Visio:
Se você estiver utilizando o Microsoft Project ou Microsoft Visio, será necessário aplicar a versão específica do patch para esses produtos.
Patches do Microsoft Office 2000 e Microsoft Office XP:
Se você estiver utilizando o Microsoft Office 2000 ou o Microsoft Office XP (incluindo o Publisher 2002), será necessário aplicar a versão específica do patch para esses produtos.
Estou usando mais de um dos produtos relacionados acima? Devo aplicar o patch específico para cada produto?
Sim – você deve aplicar o patch para cada produto relacionado acima. Por exemplo, se estiver usando o Microsoft Office XP e o Microsoft Visio 2000, você deve aplicar ambas as versões do patch para o Microsoft Office XP e Microsoft Visio.
Como saber que versão do Microsoft VBA estou usando?
Para verificar se o VBA está presente no seu sistema e para identificar a versão que está em execução, verifique os seguintes arquivos (em que C:\ é a unidade do sistema):
C:\Arquivos de Programas\Arquivos Comuns\Microsoft Shared\VBA\vbe.dll – se esse arquivo estiver presente, a versão será VBA 5.0.
C:\Arquivos de Programas\Arquivos Comuns\Microsoft Shared\VBA\VBA6\vbe6.dll – se esse arquivo estiver presente, a versão será VBA 6.0.
Tenho um aplicativo de terceiros que usa o Microsoft VBA. O que devo fazer?
A Microsoft trabalha com terceiros para desenvolver aplicativos usando o Microsoft VBA para garantir que eles estejam cientes com relação a essa vulnerabilidade de segurança e tenham as atualizações necessárias ao Microsoft VBA para seja incorporado aos seus produtos. Entre em contato com o fornecedor de software para obter as atualizações para aplicativos de terceiros que usam o Microsoft VBA
Disponibilidade do patch
Locais de download desse patch
Há várias versões desse patch, dependendo do aplicativo que você possui e que usa o VBA Recomendamos bastante a leitura da Pergunta freqüente citada acima "Há vários patches disponíveis para essa vulnerabilidade? Qual deles devo instalar?"
Microsoft Office 2000:
http://microsoft.com/downloads/details.aspx?FamilyId=E2CCE199-9C4A-4EEC-A3EC-9F738017F275&displaylang=en
(site em inglês)
Patch administrativo:
http://www.microsoft.com/office/ork/xp/journ/o2k0901a.htm
(site em inglês)
Microsoft Office XP (incluindo o Publisher 2002):
http://microsoft.com/downloads/details.aspx?FamilyId=6F1FC4B0-29E9-44E0-A33D-AD6B4B6A8FF4&displaylang=en
(site em inglês)
Patch administrativo:
http://www.microsoft.com/office/ork/xp/journ/oxp1001a.htm
(site em inglês)
Microsoft Project 2000:
http://microsoft.com/downloads/details.aspx?FamilyId=E53A52E7-431D-4580-9733-B92A2B7BFD0D&displaylang=en
(site em inglês)
Microsoft Project 2002:
http://microsoft.com/downloads/details.aspx?FamilyId=525BDE0A-0028-488A-8209-6E07D4603CCB&displaylang=en
(site em inglês)
Microsoft Visio 2002:
http://microsoft.com/downloads/details.aspx?FamilyId=55944490-13C2-4043-BA2A-17AF02E9C73E&displaylang=en
(site em inglês)
Patch do Microsoft VBA:
http://microsoft.com/downloads/details.aspx?FamilyId=DA1A7ABA-CD3D-458B-9729-AB9094C9BD3F&displaylang=en
(site em inglês)
O patch do Microsoft VBA pode ser instalado em sistemas que executam os seguintes aplicativos:
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 Visio 2000
Microsoft Works Suite 2001
Microsoft Business Solutions Great Plains 7.5
Microsoft Business Solutions Dynamics 6.0
Microsoft Business Solutions Dynamics 7.0
Microsoft Business Solutions eEnterprise 6.0
Microsoft Business Solutions eEnterprise 7.0
Microsoft Business Solutions Solomon 4.5
Microsoft Business Solutions Solomon 5.0
Microsoft Business Solutions Solomon 5.5
A Microsoft recomenda aos usuários a visitarem o Office Update em
http://www.office.microsoft.com/ProductUpdates/default.aspx
(site em inglês) para detectar e instalar este patch de segurança e outros patches públicos disponíveis para a família de produtos Office (nota: Office Update não suporta Office 97 ou Visio 2000).
Informações adicionais sobre esse patch
Plataforma de instalação:
O patch do Microsoft Office 2000 pode ser instalado em sistemas que executam o Microsoft Office 2000
Service Pack 3
pode ser instalada em sistemas que utilizam o Office XP
O patch do Microsoft Office XP pode ser instalado em sistemas que executam o Microsoft Office XP
Service Pack 2
e Microsoft Works 2001. (A atualização administrativa pode ser instalada em sistemas que executam o Office 2002 Service Release 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 Visio 2000
Microsoft Works Suite 2001
Microsoft Business Solutions Great Plains 7.5
Microsoft Business Solutions Dynamics 6.0
Microsoft Business Solutions Dynamics 7.0
Microsoft Business Solutions eEnterprise 6.0
Microsoft Business Solutions eEnterprise 7.0
Microsoft Business Solutions Solomon 4.5
Microsoft Business Solutions Solomon 5.0
Microsoft Business Solutions Solomon 5.5
Inclusão em service packs futuros:
A correção desse problema será incluída em alguns service packs futuros para o Microsoft Office XP, Microsoft Office 2000, Microsoft Project 2002, Microsoft Project 2000 e Microsoft Visio 2002.
Necessário reinicializar:
Se vbe.dll ou vbe6.dll estiver em uso no momento da instalação, a reinicialização será solicitada para concluir a instalação.
O patch pode ser desinstalado:
Não.
Patches substituídos:
Nenhuma.
Verificando a instalação do patch:
Patches do Microsoft Office, Project ou Visio:
Verifique se as versões dos seguintes arquivos são como apresento a seguir (se C:\ não for a unidade do sistema, verifique a Unidade que contém a pasta \Arquivos de Programas):
C:\Arquivos de Programas\Arquivos Comuns\Microsoft Shared\VBA\VBA6\vbe6.dll = 6.4.99.66
Patch do Microsoft VBA:
Verifique se as versões dos seguintes arquivos são como abaixo:
VBA 5 - C:\Arquivos de Programas\Arquivos Comuns\Microsoft Shared\VBA\vbe.dll = 5.0.78.15
VBA 6- C:\Arquivos de Programas\Arquivos Comuns\Microsoft Shared\VBA\VBA6\vbe6.dll = 6.4.99.66
Advertências:
Nenhuma
Localização:
Versões localizadas desse patch estão disponíveis nos locais indicados em "Disponibilidade do patch".
Obtendo outros patches de segurança:
Os patches de outros problemas de segurança estão disponíveis nos seguintes locais:
Microsoft Download Center
. Você pode encontrá-los com mais facilidade procurando palavras-chave "security_patch ".
Patches para plataformas de clientes estão disponíveis no site
WindowsUpdate.
Os patches para clientes Office estão disponíveis em
http://www.office.microsoft.com/ProductUpdates/default.aspx
(site em inglês)
Outras informações:
Agradecimentos:
A Microsoft
agradece
a
eEye Digital Security
por relatar esse problema e trabalhar conosco para proteger os clientes.
Suporte:
O artigo
822715
do Microsoft Knowledge Base que analisa esse problema estará disponível em aproximadamente 24 horas após a publicação deste boletim. Os artigos do Knowledge Base podem ser encontrados no site
Suporte Online Microsoft
O suporte técnico está disponível em
Suporte Online Microsoft
. As ligações para obter suporte, associadas a patches de segurança, são gratuitas.
Recursos de segurança:
O site
Microsoft TechNet Security
(site em inglês) fornece informações adicionais sobre segurança em produtos da Microsoft.
Aviso de isenção de responsabilidade:
As informações fornecidas no Microsoft Knowledge Base são fornecidas "como estão", 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 um propósito específico. Em hipótese alguma a Microsoft Corporation ou seus fornecedores serão responsáveis por quaisquer danos, inclusive danos diretos, indiretos, incidentais, conseqüenciais, danos por lucros cessantes ou danos especiais, mesmo que a Microsoft Corporation ou seus fornecedores tenham sido alertados da possibilidade dos referidos danos. Como alguns estados não permitem a exclusão ou limitação de responsabilidade por danos conseqüenciais ou indiretos, a limitação acima pode não ser aplicável a você.
Aviso de isenção de responsabilidade:
• V1.0 (03 de setembro de 2003): Boletim publicado.
|