Source: https://technet.microsoft.com/pt-pt/library/security/ms09-035.aspx
Timestamp: 2018-06-20 21:22:53+00:00
Document Index: 91085456

Matched Legal Cases: ['Artigo 294871', 'Artigo 969706', 'Artigo 969706', 'Artigo 969706', 'Artigo 969706', 'Artigo 971089', 'Artigo 971090', 'Artigo 973673', 'Artigo 973830', 'Artigo 971091', 'Artigo 973674', 'Artigo 971092', 'Artigo 973675', 'Artigo 973544', 'Artigo 973552', 'Artigo 969706', 'Artigo 974653', 'Artigo 969706']

Microsoft Security Bulletin MS09-035 - Moderada
2009 MS09-035
Vulnerabilidades no Visual Studio Active Template Library Poderiam Permitir Execução Remota de Código (969706)
Data de publicação: 28 de julho de 2009 | Updated: 12 de janeiro de 2010
Este boletim de segurança discute vulnerabilidades que poderiam permitir a execução remota de código se um utilizador carregasse um componente ou controlo concebido com versões vulneráveis do ATL.
Enquanto a maioria dos Boletins de Segurança Microsoft discute o risco de uma vulnerabilidade para um produto específico, este boletim de segurança discute as vulnerabilidades que podem estar presentes em produtos concebidos utilizando o ATL. Por isso, esta actualização de segurança é classificada como Moderada para todas edições suportadas do Microsoft Visual Studio. NET 2003, Microsoft Visual Studio 2005, Microsoft Visual Studio 2008, Microsoft Visual C++ 2005 Redistributable Package e Microsoft Visual C++ 2008 Redistributable Package.
Para mais informações sobre o impacto, soluções alternativas e factores atenuantes para controlos e componentes que podem estar vulneráveis a estas questões, consulte o Aviso de Segurança da Microsoft (973882).
A actualização de segurança resolve as vulnerabilidades modificando os cabeçalhos ATL de modo a que os componentes e controlos concebidos utilizando os cabeçalhos possam ser inicializados com segurança a partir de um fluxo de dados. Para mais informações sobre as vulnerabilidades, consulte a subsecção de Perguntas Mais Frequentes quanto à vulnerabilidade específica na secção seguinte, Informações sobre as vulnerabilidades.
Recomendação. Os programadores que tenham desenvolvido componentes e controlos utilizando o ATL devem transferir esta actualização e recompilar os seus componentes e controlos seguindo as orientações fornecidas no seguinte artigo MSDN.
A maioria dos clientes com o Visual Studio que têm as actualizações automáticas activadas receberá automaticamente esta actualização e receberá o ATL actualizado. No entanto, como indicado anteriormente, serão necessários passos adicionais para actualizar controlos e componentes potencialmente vulneráveis. Os clientes que não tenham a actualização automática activada necessitam de verificar as actualizações e instalar esta actualização manualmente. Para informações sobre opções específicas de configuração da actualização automática, consulte o Artigo 294871 da Base de Dados de Conhecimento da Microsoft.
Questões conhecidas. O Artigo 969706 da Base de Dados de Conhecimento da Microsoft documenta as questões actualmente conhecidas que os clientes podem verificar quando instalam esta actualização de segurança. O artigo também documenta soluções recomendadas para estas questões.
(KB971089) Execução Remota de Código Moderada MS07-012
(KB971090) Execução Remota de Código Moderada Nenhum
(KB973673) Execução Remota de Código Moderada Nenhum
Ferramentas de Visual C++ alojadas no Microsoft Visual Studio 2005 Service Pack 1 de 64-bits
(KB973830) Execução Remota de Código Moderada Nenhum
Windows Embedded CE 6.0**
(KB974616) Execução Remota de Código Moderada Nenhum
(KB971091) Execução Remota de Código Moderada Nenhum
(KB973674) Execução Remota de Código Moderada Nenhum
(KB971092) Execução Remota de Código Moderada Nenhum
(KB973675) Execução Remota de Código Moderada Nenhum
(KB973544) Execução Remota de Código Moderada Nenhum
(KB973551) Execução Remota de Código Moderada Nenhum
(KB973552) Execução Remota de Código Moderada Nenhum
**Instala a Actualização Mensal do Windows Embedded CE 6.0 (Janeiro de 2010). Este pacote de actualização está disponível apenas a partir do Centro de Transferências da Microsoft.
Por que razão foi relançado este boletim a 12 de Janeiro de 2010?
A Microsoft relançou este boletim para adicionar o Windows Embedded CE 6.0 ao software afectado. A actualização para o Windows Embedded CE 6.0 (KB974616) é uma actualização cumulativa que está disponível apenas a partir do Centro de Transferências da Microsoft. Os clientes que utilizam a plataforma Windows Embedded CE 6.0 devem considerar a aplicação desta actualização cumulativa. Nenhum outro pacote de actualização é afectado por este relançamento.
Por que razão foi revisto este boletim a 8 de Setembro de 2009?
Este boletim foi revisto para comunicar que a secção de Questões conhecidas relacionadas com esta actualização de segurança, no Artigo 969706 da Base de Dados de Conhecimento da Microsoft associado, foi revista para alterar o número da questão conhecida de KB974223 para KB974479, de modo a oferecer uma actualização não relacionada com segurança para resolver a questão. Os utilizadores do Microsoft Visual Studio 2008 Service Pack 1 que não tenham instalado a actualização de segurança descrita neste boletim receberão automaticamente a actualização de segurança e a actualização não relacionada com segurança através do Microsoft Update. Os utilizadores do Microsoft Visual Studio 2008 Service Pack 1 que já tenham instalado a actualização de segurança receberão automaticamente a actualização não relacionada com segurança através do Windows Update. Os utilizadores do Microsoft Visual Studio 2008 Service Pack 1 que já tenham instalado a actualização de segurança não têm de voltar a instalar a actualização de segurança e apenas precisam de instalar a actualização não relacionada com segurança se verificarem as questões descritas em KB974479.
A Microsoft relançou este boletim para oferecer novas actualizações para as seguintes plataformas:
As novas actualizações de segurança destinam-se a programadores que utilizam o Visual Studio para criar componentes e controlos para aplicações móveis utilizando ATL para Dispositivos Inteligentes. Todos os programadores de Visual Studio devem instalar estas novas actualizações de modo a que possam utilizar o Visual Studio para criar componentes e controlos que não sejam vulneráveis às questões comunicadas.
Para mais informações sobre esta questão conhecida, consulte o Artigo 969706 da Base de Dados de Conhecimento da Microsoft.
Este boletim foi revisto para comunicar que a secção Questões conhecidas relacionadas com esta actualização de segurança no Artigo 969706 da Base de Dados de Conhecimento da Microsoft associado foi revista, e que a lógica de detecção de actualização para o KB973923 e KB973924 foi revista para corrigir uma questão de disponibilização repetida do pacote. A lógica de detecção original determinava se era necessário instalar a actualização verificando se a actualização ainda não tinha sido instalada. Os pacotes Visual C++ Redistributable (KB973544, KB973551, KB973552), disponíveis no Centro de Transferências da Microsoft, são um super-conjunto completo dos pacotes de actualização ATL correspondentes (KB973923, KB973924), disponíveis apenas a partir do Microsoft Update. Os clientes que instalaram a versão actualizada do Visual C++ Redistributable Package não precisam de instalar os pacotes de actualização ATL correspondentes. As alterações de detecção levam isto em conta e não disponibilizam os pacotes de actualização ATL quando a versão corrigida correspondente da actualização Visual C++ Redistributable já se encontra instalada. Foi também adicionada uma nova entrada nesta secção de Perguntas Mais Frequentes relativas a esta Actualização de Segurança para clarificar a diferença entre os pacotes Visual C++ Redistributable e as outras actualizações para o Visual Studio. As empresas que não utilizam o Microsoft Update para implementação de actualizações e que necessitem de implementar as actualizações disponibilizadas por este boletim recorrendo a outros meios podem transferir e implementar os pacotes Visual C++ Redistributable completos, uma vez que estes são um super-conjunto completo dos pacotes de actualização ATL correspondentes.
Os pacotes Visual C++ Redistributable são versões completas deste produto que podem ser redistribuídas por qualquer pessoa em conjunto com as suas aplicações. Os clientes que precisam de distribuir o Visual C++ Redistributable devem transferir e incluir estes pacotes ou associá-los aos seus programas de instalação. As outras actualizações para o Visual Studio estão disponíveis para clientes que instalaram uma versão anterior do produto Visual C++ Redistributable, ou que instalaram o produto Visual Studio. Estes pacotes de actualização são disponibilizados aos clientes apenas através do Microsoft Update e apenas são aplicáveis se estiver presente uma versão anterior do Visual C++ Redistributable ou do Visual Studio.
Por que razão os números KB da actualização do Centro de Transferências da Microsoft para os pacotes Visual C++ Redistributable diferem dos números KB de actualização para SMS, SCCM, WSUS e MU?
As versões completas dos pacotes Visual C++ 2005 e 2008 redistributable (KB973544, KB973551 e KB973552) são apenas listados no Centro de Transferências da Microsoft, uma vez que são versões completas novas dos produtos. As actualizações SMS, SCCM, WSUS e MU (KB973923, KB9739234) são actualizações apenas para clientes que instalaram previamente versões vulneráveis dos pacotes Visual C++ redistributable. Estas actualizações não correspondem às versões no centro de transferências. A Microsoft não recomenda que os clientes redistribuam qualquer versão diferente das versões completas que podem ser transferidas a partir do Centro de Transferências da Microsoft (KB973544, KB973551 e KB973552).
De que forma este boletim está relacionado com as vulnerabilidades descritas no Aviso de Segurança da Microsoft (973882)?
Este boletim resolve vulnerabilidades na versão pública do Active Template Library (ATL). As vulnerabilidades na versão privada do ATL estão descritas no Aviso de Segurança da Microsoft (973882).
Se estas são vulnerabilidades de execução remota de código, por que razão é que este boletim possui apenas a classificação Moderada?
Este boletim possui a classificação Moderada porque o Microsoft Visual Studio, por predefinição, não é afectado por estas vulnerabilidades. Os controlos e componentes concebidos utilizando o ATL afectado são vulneráveis e, se afectados, a classificação passaria para Crítica ou Moderada, dependendo do tipo de vulnerabilidade presente no controlo ou componente.
Os utilizadores de Visual Studio são directamente afectados por estas vulnerabilidades?
Não. A existência do Visual Studio no seu sistema não o torna vulnerável a esta questão.
A actualização associada a este boletim destina-se a programadores que criam componentes e controlos a fim de poder utilizar o Visual Studio para criar componentes e controlos que não sejam vulneráveis às questões comunicadas. Apenas são afectados por esta questão os componentes e controlos vulneráveis desenvolvidos com uma versão afectada do ATL. Os programadores que tenham concebido ou redistribuído componentes e controlos concebidos com versões afectadas do ATL devem instalar a actualização fornecida neste boletim e seguir os passos fornecidos, para assegurar que os seus componentes e controlos não contêm as vulnerabilidades descritas neste boletim.
Que versões do Active Template Library são afectadas por estas vulnerabilidades?
São afectadas as versões 7.0, 7.1, 8.0 e 9.0. Todas as outras versões não são suportadas.
Que versões do Visual Studio são afectadas?
Consulte a secção Software Afectado e Software Não Afectado, neste Boletim de Segurança da Microsoft.
Esta actualização de segurança está relacionada com o boletim MS09-034, também lançado como uma actualização fora do ciclo regular?
Sim. O Boletim de Segurança Microsoft MS09-034, "Actualização de Segurança Cumulativa para o Internet Explorer", inclui um factor atenuante que ajuda a impedir que os componentes e controlos concebidos utilizando o ATL vulnerável sejam explorados no Internet Explorer, para além de resolver múltiplas vulnerabilidades não relacionadas. As novas protecções defensivas profundas que são disponibilizadas no boletim MS09-034 incluem actualizações para o Internet Explorer 5.01, Internet Explorer 6, Internet Explorer 6 Service Pack 1, Internet Explorer 7 e Internet Explorer 8, monitorizando e ajudando a impedir a exploração com sucesso de todas as vulnerabilidades públicas e privadas que são conhecidas no ATL, incluindo as vulnerabilidades que poderiam levar a ignorar a funcionalidade de segurança de kill bits do ActiveX. Estas protecções foram concebidas para ajudar a proteger os clientes contra ataques baseados na Web.
Esta actualização de segurança é especificamente destinada a programadores de componentes e controlos. Os programadores que tenham concebido ou redistribuído componentes e controlos concebidos com versões afectadas do Active Template Library devem instalar a actualização fornecida neste boletim e seguir os passos fornecidos, para assegurar que os seus componentes e controlos não contêm as vulnerabilidades descritas neste boletim.
Se tiver instalado a actualização MS09-034, ainda tenho de instalar os componentes e controlos adicionais lançados pela Microsoft ou outros fornecedores para resolver as vulnerabilidades descritas no Aviso de Segurança da Microsoft 973882 e no Boletim de Segurança Microsoft MS09-035?
O factor atenuante descrito no boletim MS09-034 para o Internet Explorer não resolve as vulnerabilidades subjacentes em determinados componentes e controlos desenvolvidos com o Active Template Library. A Microsoft recomenda que os programadores sigam as orientações fornecidas neste boletim para modificar e reconstruir todos os componentes e controlos afectados pelas vulnerabilidades descritas neste boletim.
O que é o ATL?
O Active Template Library (ATL) é um conjunto de classes C++ baseadas em modelos que lhe permitem criar pequenos objectos Component Object Model (COM) de forma mais rápida. Tem suporte especial para funcionalidades COM essenciais, incluindo implementações de stock, interfaces duplas, interfaces de enumeração COM convencionais, pontos de ligação, interfaces de fragmentação e controlos ActiveX. Para mais informações, consulte o seguinte artigo MSDN.
Os componentes e controlos de outros fabricantes são afectados por esta questão?
Alguns componentes e controlos de outros fabricantes podem ser afectados por esta questão se determinadas condições tiverem sido cumpridas durante a concepção dos componentes e controlos. A Microsoft recomenda que os programadores sigam as orientações fornecidas neste boletim para modificar e reconstruir todos os componentes e controlos afectados pelas vulnerabilidades descritas neste boletim.
Sou um programador de aplicações de outro fabricante e utilizo o ATL nos meus componentes e controlos. Os meus componentes e controlos são vulneráveis? Se sim, como posso actualizá-los?
Para obter instruções sobre como determinar se os seus componentes e controlos são vulneráveis e sobre como pode actualizá-los, consulte o seguinte Artigo MSDN.
Sou um programador e tenho perguntas sobre esta questão que não estão documentadas neste Boletim de Segurança da Microsoft. O que posso fazer?
Como parte da nossa resposta a esta questão, a Microsoft está a fornecer conteúdos de programação especializados e ligações a fóruns para que as suas perguntas sejam respondidas por recursos da Microsoft e pela comunidade de programação da Microsoft. Para mais informações, consulte o seguinte Artigo MSDN.
Vulnerabilidade de Objecto ATL Não Inicializado - CVE-2009-0901
Vulnerabilidade de Cadeia ATL Nula - CVE-2009-2495
Microsoft Visual Studio .NET 2003 Service Pack 1 Moderada
Microsoft Visual Studio 2005 Service Pack 1 Moderada
Ferramentas de Visual C++ alojadas no Microsoft Visual Studio 2005 Service Pack 1 de 64 bits Moderada
Windows Embedded CE 6.0 Moderada
Microsoft Visual Studio 2008 Moderada
Microsoft Visual Studio 2008 Service Pack 1 Não aplicável Moderada
Microsoft Visual C++ 2005 Service Pack 1 Redistributable Package Moderada
Microsoft Visual C++ 2008 Redistributable Package Moderada
Microsoft Visual C++ 2008 Service Pack 1 Redistributable Package Moderada
Existe uma vulnerabilidade de execução remota de código no Microsoft Active Template Library (ATL) devido a uma questão nos cabeçalhos ATL que poderia permitir que um intruso obrigasse a VariantClear a ser chamada numa VARIANT que não fosse inicializada correctamente. Posto isto, o intruso poderia controlar o que acontece quando a VariantClear é chamada durante o processamento de um erro, fornecendo uma cadeia corrompida. Esta vulnerabilidade apenas afecta directamente sistemas com componentes e controlos instalados que tenham sido concebidos utilizando o Visual Studio ATL. Esta questão poderia permitir que um utilizador remoto não autenticado procedesse à execução remota de código num sistema afectado. Um intruso poderia explorar a vulnerabilidade criando uma página web especialmente concebida para o efeito. Quando um utilizador visualizasse a página Web, a vulnerabilidade poderia permitir a execução remota de código.
Para visualizar esta vulnerabilidade como uma entrada comum na lista de Vulnerabilidades e Exposições Comuns, consulte CVE-2009-0901.
Factores Atenuantes para a Vulnerabilidade de Objecto ATL Não Inicializado - CVE-2009-0901
Por predefinição, o Visual Studio, enquanto produto, não é vulnerável a esta questão. No entanto, os componentes e controlos concebidos com as versões vulneráveis do ATL podem ser vulneráveis.
Os Factores Atenuantes e as Soluções Alternativas para os componentes e controlos potencialmente vulneráveis encontram-se descritos no Aviso de Segurança da Microsoft (973882).
Soluções Alternativas para a Vulnerabilidade de Objecto ATL Não Inicializado - CVE-2009-0901
Perguntas Mais Frequentes sobre a Vulnerabilidade de Objecto ATL Não Inicializado - CVE-2009-0901
Esta vulnerabilidade apenas afecta directamente sistemas com componentes e controlos vulneráveis instalados que tenham sido concebidos utilizando versões afectadas do ATL da Microsoft.
Esta é uma vulnerabilidade de execução remota de código. Por exemplo, a vulnerabilidade poderia permitir a execução remota de código se o utilizador visitasse uma página da Web especialmente concebida para o efeito, utilizando uma versão do Internet Explorer que instanciasse um componente ou controlo vulnerável. Um intruso que conseguisse explorar esta vulnerabilidade com êxito poderia obter os mesmos privilégios que o utilizador com sessão iniciada.
A vulnerabilidade resulta de uma questão nos cabeçalhos ATL que poderia permitir que um intruso chamasse a VariantClear() numa variante que não fosse inicializada correctamente. Para os programadores que tenham criado um componente ou controlo utilizando o ATL desta forma, o componente ou controlo resultante poderia permitir execução remota de código no contexto do utilizador com sessão iniciada.
Se um utilizador tiver um controlo vulnerável no seu sistema e um intruso contornar os factores atenuantes descritos no Aviso de Segurança da Microsoft (973882), o intruso poderia obter controlo total sobre o sistema afectado. Um intruso poderia então instalar programas; ver, alterar ou eliminar dados; ou ainda criar novas contas com todos os privilégios. Os utilizadores cujas contas estão configuradas com menos direitos de utilização no sistema podem correr menos riscos do que os utilizadores que trabalham com direitos de utilização de administrador.
Um intruso poderia alojar um Web site especialmente concebido para o efeito, destinado a explorar esta vulnerabilidade através do Internet Explorer, tentando explorar um controlo vulnerável, persuadindo depois um utilizador a ver o Web site em questão. Isso também pode incluir Web sites corrompidos ou Web sites que aceitam ou alojam conteúdos ou anúncios fornecidos pelo utilizador. Estes Web sites podem conter conteúdos especialmente concebidos para o efeito, que poderiam explorar esta vulnerabilidade. Contudo, em qualquer dos casos, o intruso teria de descobrir um controlo vulnerável e forçar os utilizadores a visitar esses Web sites. Para o fazer, o intruso teria de persuadir os utilizadores a visitar o Web site, levando-os normalmente a clicar numa hiperligação numa mensagem de correio electrónico, ou num pedido de mensagem instantânea, que leva o utilizador para o Web site do intruso. Também poderia ser possível exibir conteúdos Web nocivos concebidos especialmente para o efeito, usando espaços de publicidade como banners, ou usando outros métodos para entregar conteúdos Web a sistemas afectados.
A actualização resolve a questão assegurando que a VariantClear() apenas pode ser chamada em variantes inicializadas e fornecendo versões actualizadas do ATL, que permitem que os programadores resolvam esta questão em controlos potencialmente vulneráveis.
Existe uma vulnerabilidade de execução remota de código no Microsoft Active Template Library (ATL) devido a questões nos cabeçalhos ATL que processam a instanciação de um objecto de fluxos de dados. Esta vulnerabilidade apenas afecta directamente sistemas com componentes e controlos instalados que tenham sido concebidos utilizando o Visual Studio ATL. Para componentes e controlos concebidos utilizando o ATL, a utilização de OleLoadFromStream sem segurança poderia permitir a instanciação de objectos arbitrários que poderiam contornar a política de segurança relacionada, como é o caso de kill bits dentro do Internet Explorer. Esta questão poderia permitir que um utilizador remoto não autenticado procedesse à execução remota de código num sistema afectado. Um intruso poderia explorar a vulnerabilidade criando uma página web especialmente concebida para o efeito. Quando um utilizador visualizasse a página Web, a vulnerabilidade poderia permitir a execução remota de código.
Esta vulnerabilidade apenas afecta directamente sistemas com componentes e controlos instalados que tenham sido concebidos utilizando o Visual Studio ATL.
Esta é uma vulnerabilidade de execução remota de código. A vulnerabilidade poderia permitir a execução remota de código se o utilizador visitasse uma página Web especialmente concebida para o efeito utilizando o Internet Explorer, instanciando um componente ou controlo vulnerável. Um intruso que conseguisse explorar esta vulnerabilidade com êxito poderia obter os mesmos privilégios que o utilizador com sessão iniciada.
A vulnerabilidade resulta de questões nos cabeçalhos ATL que processam a instanciação de um objecto a partir de fluxos de dados. Para componentes e controlos concebidos utilizando o ATL, a utilização de OleLoadFromStream sem segurança poderia permitir a instanciação de objectos arbitrários que poderiam contornar determinadas políticas de segurança relacionadas.
Se um utilizador tiver um controlo vulnerável no seu sistema, se um intruso contornar os factores atenuantes descritos no Aviso de Segurança da Microsoft (973882) e se o utilizador tiver iniciado sessão com direitos de administrador, o intruso poderia controlar totalmente o sistema afectado. Um intruso poderia então instalar programas; ver, alterar ou eliminar dados; ou ainda criar novas contas com todos os privilégios. Os utilizadores cujas contas estão configuradas com menos direitos de utilização no sistema podem correr menos riscos do que os utilizadores que trabalham com direitos de utilização de administrador.
A actualização resolve a vulnerabilidade corrigindo a forma como o ATL processa a instanciação de objectos a partir de fluxos de dados e fornecendo versões actualizadas do ATL, que permitem aos programadores resolver esta questão em controlos potencialmente vulneráveis.
Existe uma vulnerabilidade de divulgação de informações no Microsoft Active Template Library (ATL) que poderia permitir que uma cadeia fosse lida sem um caracter NULL de finalização. Um intruso poderia manipular esta cadeia para ler dados adicionais para além do fim da cadeia e, assim, divulgar informações na memória. Esta vulnerabilidade apenas afecta directamente sistemas com componentes e controlos instalados que tenham sido concebidos utilizando o Visual Studio ATL. Um intruso que explorasse esta vulnerabilidade com sucesso poderia executar um componente ou controlo malicioso que poderia divulgar informações, reencaminhar dados do utilizador para terceiros ou aceder a quaisquer dados nos sistemas afectados a que o utilizador com sessão iniciada tivesse acesso. Tenha em atenção que a vulnerabilidade não permitiria que um intruso executasse código ou elevasse directamente os seus privilégios de utilizador, mas poderia ser utilizada para produzir informações que poderiam ser usadas para comprometer ainda mais o sistema afectado.
Para visualizar esta vulnerabilidade como uma entrada comum na lista de Vulnerabilidades e Exposições Comuns, consulte CVE-2009-2495.
Factores Atenuantes para a Vulnerabilidade de Cadeia ATL Nula - CVE-2009-2495
Soluções Alternativas para a Vulnerabilidade de Cadeia ATL Nula - CVE-2009-2495
Perguntas Mais Frequentes sobre a Vulnerabilidade de Cadeia ATL Nula - CVE-2009-2495
Trata-se de uma vulnerabilidade ao nível da divulgação de informações. Um intruso que explorasse esta vulnerabilidade com sucesso poderia executar um componente ou controlo malicioso que poderia divulgar informações, reencaminhar dados do utilizador para terceiros ou aceder a quaisquer dados nos sistemas afectados a que o utilizador com sessão iniciada tivesse acesso. Tenha em atenção que a vulnerabilidade não permitiria que um intruso executasse código ou elevasse directamente os seus privilégios de utilizador, mas poderia ser utilizada para obter informações úteis para comprometer ainda mais o sistema afectado.
A vulnerabilidade resulta de uma questão nos cabeçalhos ATL que poderia permitir que uma cadeia fosse lida sem bytes NULL de finalização. Um intruso poderia manipular esta cadeia para ler dados adicionais para além do fim da cadeia e, assim, divulgar informações na memória.
Um intruso que explorasse esta vulnerabilidade com sucesso poderia aceder a quaisquer dados disponíveis sobre o utilizador com sessão iniciada.
Se um utilizador tiver um controlo vulnerável no seu sistema e um intruso contornar os factores atenuantes descritos no Aviso de Segurança da Microsoft (973882), o intruso poderia ler informações na memória do sistema afectado.
A actualização resolve a vulnerabilidade impondo a atribuição adequada de memória intermédia durante a leitura de uma cadeia e fornecendo versões actualizadas do ATL, que permitem aos programadores resolver esta questão em controlos potencialmente vulneráveis.
As seguintes Orientações de Detecção e Implementação fornecem informações sobre como assegurar que as versões do Visual Studio neste Boletim de Segurança foram actualizadas com cabeçalhos ATL que resolvem as vulnerabilidades discutidas acima.
Ferramentas de Visual C++ alojadas no Microsoft Visual Studio 2005 Service Pack 1 de 64 bits Sim
Microsoft Visual Studio 2008 Sim
Microsoft Visual C++ 2008 Redistributable Package Sim
Ferramentas de Visual C++ alojadas no Microsoft Visual Studio 2005 Service Pack 1 de 64 bits Não Não Sim Sim
Microsoft Visual Studio 2008 Não Não Sim Sim
Microsoft Visual C++ 2008 Redistributable Package Não Não Sim Sim
Instalação sem intervenção do utilizador VS7.1sp1-KB971089-X86 /q
Instalação sem reiniciar VS7.1sp1-KB971089-X86 /norestart
Ficheiro log da actualização VS7.1SP1-KB971089-X86-intl-msi.0.log
Informações de Ficheiros Consulte o Artigo 971089 da Base de Dados de Conhecimento da Microsoft
Verificação da Chave de Registo HKEY_LOCAL_MACHINE\Software\Microsoft\Updates\Visual Studio\7.1\M971089
3. Na caixa Totalidade ou parte do nome de ficheiro, escreva um nome de ficheiro a partir da tabela de informações de ficheiros adequada e, em seguida, clique em Procurar.
Inclusão em Service Packs Futuros A actualização para esta questão será incluída no Visual Studio 2005 Service Pack 2
Instalação sem intervenção do utilizador Para Microsoft Visual Studio 2005 Service Pack 1 (KB971090):
Para Microsoft Visual Studio 2005 Service Pack 1 (KB973673):
Para Ferramentas de Visual C++ alojadas no Microsoft Visual Studio 2005 Service Pack 1 de 64 bits (KB973830):
Instalação sem reiniciar Para Microsoft Visual Studio 2005 Service Pack 1 (KB971090):
Informações de Ficheiros Para Microsoft Visual Studio 2005 Service Pack 1 (KB971090):
Consulte o Artigo 971090 da Base de Dados de Conhecimento da Microsoft
Consulte o Artigo 973673 da Base de Dados de Conhecimento da Microsoft
Consulte o Artigo 973830 da Base de Dados de Conhecimento da Microsoft
Verificação da Chave de Registo Para Microsoft Visual Studio 2005 Service Pack 1 (KB971090):
Verificação do código do produto Para Microsoft Visual Studio 2005 Service Pack 1 (KB973673):
Microsoft Visual Studio 2008 e Microsoft Visual Studio 2008 Service Pack 1
Inclusão em Service Packs Futuros A actualização para esta questão será incluída no Visual Studio 2008 Service Pack 2
Instalação sem intervenção do utilizador Para Microsoft Visual Studio 2008 (KB971091):
Para Microsoft Visual Studio 2008 (KB973674):
Para Microsoft Visual Studio 2008 Service Pack 1 (KB971092):
Para Microsoft Visual Studio 2008 Service Pack 1 (KB973675):
Instalação sem reiniciar Para Microsoft Visual Studio 2008 (KB971091):
Informações de Ficheiros Para Microsoft Visual Studio 2008 (KB971091):
Consulte o Artigo 971091 da Base de Dados de Conhecimento da Microsoft
Consulte o Artigo 973674 da Base de Dados de Conhecimento da Microsoft
Consulte o Artigo 971092 da Base de Dados de Conhecimento da Microsoft
Consulte o Artigo 973675 da Base de Dados de Conhecimento da Microsoft
Verificação da Chave de Registo Para Microsoft Visual Studio 2008 (KB971091):
Verificação do código do produto Para Microsoft Visual Studio 2008 (KB973674):
Informações de Ficheiros Consulte o Artigo 973544 da Base de Dados de Conhecimento da Microsoft
Verificação da Chave de Registo HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\DevDiv\VC\Servicing\8.0\RED\1033
/q[:u | :a] /q - Especifica o modo silencioso, ou suprime os avisos.
/C Extrai os ficheiros sem os instalar. Se o caminho /t: path não for especificado, ser-lhe-á pedida uma pasta de destino.
Microsoft Visual C++ 2008 Redistributable Package e Microsoft Visual C++ 2008 Service Pack 1 Redistributable Package
Instalação sem intervenção do utilizador Para Microsoft Visual C++ 2008 Redistributable Package e Microsoft Visual C++ 2008 Service Pack 1 Redistributable Package (x86):
Para Microsoft Visual C++ 2008 Redistributable Package e Microsoft Visual C++ 2008 Service Pack 1 Redistributable Package (x64):
Para Microsoft Visual C++ 2008 Redistributable Package e Microsoft Visual C++ 2008 Service Pack 1 Redistributable Package (IA64):
Instalação sem reiniciar Para Microsoft Visual C++ 2008 Redistributable Package e Microsoft Visual C++ 2008 Service Pack 1 Redistributable Package (x86):
Informações de Ficheiros Consulte o Artigo 973552 da Base de Dados de Conhecimento da Microsoft
Verificação da Chave de Registo HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\DevDiv\VC\Servicing\9.0\RED\1033
David Dewey, da IBM ISS X-Force, por fornecer informações sobre a Vulnerabilidade de Objecto ATL Não Inicializado (CVE-2009-0901)
Ryan Smith, da VeriSign iDefense Labs, por fornecer informações sobre a Vulnerabilidade de Inicialização COM ATL (CVE-2009-2493)
Ryan Smith, da VeriSign iDefense Labs, por fornecer informações sobre a Vulnerabilidade de Cadeia ATL Nula (CVE-2009-2495)
V1.1 (4 de Agosto de 2009): Adicionadas novas entradas à secção Perguntas Mais Frequentes relativas a esta Actualização de Segurança, para comunicar a actualização da secção Questões conhecidas relacionadas com esta actualização de segurança no Artigo 969706 da Base de Dados de Conhecimento da Microsoft, e que a lógica de detecção de actualização para o KB973923 e KB973924 foi revista para corrigir uma questão de disponibilização repetida do pacote; e para clarificar a diferença entre os pacotes Visual C++ Redistributable e as restantes actualizações para o Visual Studio.
V2.0 (11 de Agosto de 2009): Boletim relançado para oferecer novas actualizações para o Microsoft Visual Studio 2005 Service Pack 1 (KB973673), Microsoft Visual Studio 2008 (KB973674) e Microsoft Visual Studio 2008 Service Pack 1 (KB973675), para programadores que utilizam o Visual Studio para criar componentes e controlos para aplicações móveis utilizando ATL para Dispositivos Inteligentes.
V2.1 (12 de Agosto de 2009): Actualização da tabela de Software afectado para indicar a substituição do MS07-012 pela actualização para o Microsoft Visual Studio .NET 2003 Service Pack 1; adicionada uma nova entrada na secção Perguntas Mais Frequentes relativas a esta Actualização de Segurança, para clarificar a razão pela qual os números KB da actualização do Centro de Transferências da Microsoft para os pacotes Visual C++ Redistributable diferem dos números KB de actualização para SMS, SCCM, WSUS e MU; correcção dos requisitos de reinício em todo o boletim; adicionadas entradas de Verificação de código de produto às tabelas de referência para implementação da actualização para o Microsoft Visual Studio 2005 Service Pack 1, Microsoft Visual Studio 2008 e Microsoft Visual Studio 2008 Service Pack 1; execução de diversas alterações.
V2.2 (19 de Agosto de 2009): Adicionada uma ligação para o Artigo 974653 da Base de Dados de Conhecimento da Microsoft para fornecer instruções sobre a utilização de códigos de produto para verificar a instalação das actualizações para o Microsoft Visual Studio 2005 Service Pack 1, Microsoft Visual Studio 2008 e Microsoft Visual Studio 2008 Service Pack 1.
V2.3 (8 de Setembro de 2009): Adicionada uma nova entrada na secção Perguntas Mais Frequentes relativas a esta Actualização de Segurança, para comunicar que o Artigo 969706 da Base de Dados de Conhecimento da Microsoft foi revisto para alterar a questão conhecida de KB974223 para KB974479, de modo a oferecer uma actualização não relacionada com segurança para resolver a questão.
V3.0 (12 de Janeiro de 2010): Relançamento deste boletim para adicionar o Windows Embedded CE 6.0 ao software afectado. A nova actualização para o Windows Embedded CE 6.0 (KB974616) está disponível apenas a partir do Centro de Transferências da Microsoft. Os clientes que utilizam a plataforma Windows Embedded CE 6.0 devem considerar a aplicação desta actualização. Nenhum outro pacote de actualização é afectado por este relançamento.