Microsoft Security Bulletin MS13-103 - Importante

Vulnerabilidade no ASP.NET SignalR pode permitir a elevação de privilégio (2905244)

Publicado: terça-feira, 10 de dezembro de 2013

Versão: 1.0

Informações Gerais

Sinopse

Esta atualização de segurança elimina uma vulnerabilidade relatada em particular no ASP.NET SignalR. A vulnerabilidade pode permitir elevação de privilégio se um invasor reflete JavaScript especialmente criados para o browser de um usuário alvo.

Esta atualização de segurança é classificada como Importante para o ASP.NET SignalR versões 1.1.0, 1.1.1, 1.1.2, 1.1.3 e 2.0.0, e todas as edições com suporte do Microsoft Visual Studio Team Foundation Server 2013. Para obter mais informações, consulte a subseção, Software afetado e não afetado, nesta seção.

A atualização de segurança elimina a vulnerabilidade, assegurando que o ASP.NET SignalR adequadamente codifica a entrada de usuário. Para obter mais informações sobre a vulnerabilidade, consulte a subseção Perguntas frequentes relacionada à entrada da vulnerabilidade específica presente na próxima seção, Informações sobre a vulnerabilidade.

Recomendação.

Para clientes que desenvolvem aplicativos Web que usam ASP.NET SignalR: Os clientes que desenvolvem aplicativos Web com a funcionalidade do SignalR de ASP.NET são recomendados a seguir a direção de atualização na seção de Implantaçãode atualização de segurançadeste boletim para obter instruções detalhadas sobre como atualizar o ASP.NET SignalR em seus ambientes.

Para clientes que executam instalações do Microsoft Visual Studio Team Foundation Server 2013: Para clientes que precisam da atualização automática habilitada e que executam o Microsoft Visual Studio Team Foundation Server 2013, a atualização será baixada e instalada automaticamente. Os clientes que não têm o recurso de atualizações automáticas habilitado precisarão verificar as atualizações e instalar esta atualização manualmente. Para obter informações sobre opções de configuração específicas em atualizações automáticas, consulte o Artigo 294871 (em inglês) da Microsoft Knowledge Base.

Para instalações feitas por administradores ou empresas, ou por usuários finais que desejam instalar esta atualização de segurança manualmente, a Microsoft recomenda que os clientes apliquem a atualização assim que possível usando software de gerenciamento de atualização ou verificando se há atualizações no serviço Microsoft Update.

Consulte também a seção Orientação e ferramentas de detecção e implantação mais adiante neste boletim.

Artigo da Microsoft Knowledge Base:

Artigo da Microsoft Knowledge Base: 2905244
Informações sobre o arquivo Sim
Hashes SHA1/SHA2 Sim
Problemas conhecidos Nenhuma

Softwares afetados e não afetados

O software a seguir foi testado para determinar quais versões ou edições foram afetadas. O ciclo de vida do suporte das outras versões ou edições já terminou ou elas não são afetadas. Para determinar o ciclo de vida do suporte para sua versão ou edição de software, visite o site Ciclo de vida do suporte Microsoft.

Softwares afetados

Ferramentas para Desenvolvedores Impacto máximo à segurança Avaliação de gravidade agregada Atualizações substituídas
ASP.NET SignalR 1.1.x[1] 
(2903919)
Elevação de privilégio Importante Nenhuma
ASP.NET SignalR 2.0.x[1] 
(2903919)
Elevação de privilégio Importante Nenhuma
Microsoft Visual Studio Team Foundation Server 2013 
(2903566)
Elevação de privilégio Importante Nenhuma
[1]Aplica-se a servidores de Windows que hospedam aplicativos Web com suporte à funcionalidade do SignalR de ASP.NET. A atualização, disponível para download somente, atualiza as versões 1.1.0, 1.1.1, 1.1.2, 1.1.3 e 2.0.0 para as últimas versões com suporte (1.1.4 e 2.0.1 a partir da data deste boletim). Consulte a seção de **Implantação de atualização de segurança** deste boletim para obter mais informações. **Softwares não afetados** | Software e Sistema operacional | |--------------------------------------------------------------------| | ASP.NET SignalR 1.0.0 | | ASP.NET SignalR 1.0.1 | | Microsoft Visual Studio .NET 2003 Service Pack 1 | | Microsoft Visual Studio 2005 Service Pack 1 | | Microsoft Visual Studio Team Foundation Server 2005 Service Pack 1 | | Microsoft Visual Studio 2008 Service Pack 1 | | Microsoft Visual Studio Team Foundation Server 2008 Service Pack 1 | | Microsoft Visual Studio 2010 Service Pack 1 | | Microsoft Visual Studio Team Foundation Server 2010 Service Pack 1 | | Microsoft Visual Studio LightSwitch 2011 | | Microsoft Visual Studio 2012 | | Microsoft Visual Studio Team Foundation Server 2012 | Perguntas frequentes de atualização ----------------------------------- **O que é ASP.NET SignalR?** O ASP.NET SignalR é uma biblioteca para desenvolvedores de ASP.NET que simplifica o desenvolvimento de funcionalidade de tempo real de Web. O ASP.NET SignalR permite comunicação bidirecional entre servidor e cliente via Javascript, permitindo que os servidores empurrem conteúdo para conectar os clientes instantaneamente à medida que estiver disponível (funcionalidade push). Para obter mais informações sobre o ASP.NET SignalR, consulta [Learn About ASP.NET SignalR](http://www.asp.net/signalr). **Como eu determino quais as versões do ASP.NET SignalR estão instaladas em meu sistema?** Para determinar as versões de ASP.NET SignalR que estão instaladas em seu sistema, execute uma pesquisa no disco rígido de sistema para "SignalR". Veja as propriedades de todos os arquivos Microsoft.AspNet.SignalR.Core.dll que aparecem na pesquisa para mostrar seus números de versão. Todas as versões 1.1.x anteriores à versão 1.1.4 estão vulneráveis e devem ser atualizadas. Todas as versões 2.0.x anteriores à versão 2.0.1 estão vulneráveis e devem ser atualizadas. Todas as versões 1.0.x encontradas não são vulneráveis. **Como eu atualizo minha versão do ASP.NET SignalR?** As instâncias do ASP.NET SignalR que foram instalados com o Visual Studio Team Foundation Server 2013 serão atualizadas via Microsoft Update. No entanto, outras instâncias do ASP.NET SignalR que residem em sistemas de desenvolvedor e servidores de aplicativos Web deverão ser atualizadas com processos definidos na seção **de Implantação de atualização de segurança** deste boletim. **Isto atualizará minha versão do ASP.NET SignalR?** Não. Isto atualizará a versão de patch instalada em um sistema, mas não a versão maior ou menor. A partir do lançamento deste boletim, duas versões importantes do ASP.NET SignalR são suportadas (versões 1.1.x e 2.0.x). A atualização é para as versões 1.1.x a 1.1.4 e todas as versões 2.0.x a 2.0.1. **Uso uma versão mais antiga do software discutido neste boletim de seg urança. O que devo fazer?** Os softwares afetados listados neste boletim foram testados para determinar quais edições são afetadas. Outras versões passaram seu ciclo de vida de suporte. Para obter mais informações sobre o ciclo de vida do produto, visite o site [Ciclo de vida do suporte Microsoft](http://go.microsoft.com/fwlink/?linkid=21742). Os clientes que possuem versões anteriores do software devem priorizar a migração para as versões com suporte, a fim de evitar uma possível exposição a vulnerabilidades. Para determinar o ciclo de vida do suporte para sua versão de software, consulte [Selecione um Produto para Obter Informações do Ciclo de Vida](http://go.microsoft.com/fwlink/?linkid=169555). Para obter mais informações sobre service packs para essas versões de software, consulte [Política de Suporte do Ciclo de Vida do Service Pack](http://go.microsoft.com/fwlink/?linkid=89213). Os clientes que precisarem de suporte adicional para software mais antigo deverão entrar em contato com o representante da equipe de contas da Microsoft, o gerente técnico da conta ou o representante do parceiro Microsoft apropriado para obter opções de suporte personalizadas. Os clientes sem um contrato Alliance, Premier ou Authorized podem entrar em contato com o escritório de vendas local da Microsoft. Para obter informações de contato, visite o site de [Informações internacionais da Microsoft](http://go.microsoft.com/fwlink/?linkid=33329), selecione o país na lista de informações de contato e, em seguida, clique em **Ir** para ver uma lista de telefones. Ao ligar, peça para falar com o gerente de vendas local de Suporte Premier. Para obter mais informações, consulte as [Perguntas Frequentes sobre a Política do Ciclo de Vida do Suporte da Microsoft](http://go.microsoft.com/fwlink/?linkid=169557). ### **Informações sobre a vulnerabilidade** Classificação de gravidade e Identificadores de vulnerabilidade --------------------------------------------------------------- As classificações de gravidade a seguir pressupõem o impacto máximo possível da vulnerabilidade. Para obter informações referentes à probabilidade de exploração da vulnerabilidade em relação à sua classificação de gravidade e ao impacto à segurança, em até 30 dias a partir do lançamento deste boletim de segurança, consulte o Índice de Exploração no [Resumo de boletins de dezembro](http://technet.microsoft.com/security/bulletin/ms13-dec). Para obter mais informações, consulte o [Índice de exploração da Microsoft](http://technet.microsoft.com/security/cc998259).

A Classificação de gravidade de vulnerabilidade e Impacto máximo de segurança por software afetado
Softwares afetados Vulnerabilidade de XSS do SignalR – CVE-2013-5042 Avaliação de gravidade agregada
Ferramentas para Desenvolvedores
ASP.NET SignalR 1.1.x  (2903919) **Importante**  Elevação de privilégio **Importante**
ASP.NET SignalR 2.0.x  (2903919) **Importante**  Elevação de privilégio **Importante**
Microsoft Visual Studio Team Foundation Server 2013  (2903566) **Importante**  Elevação de privilégio **Importante**

Vulnerabilidade de XSS do SignalR – CVE-2013-5042

Há uma vulnerabilidade de elevação de privilégio no ASP.NET SignalR que pode permitir acesso de invasor a recursos no contexto do usuário alvo.

Para exibir essa vulnerabilidade como uma entrada padrão na lista da Common Vulnerabilities and Exposures, consulte CVE-2013-5042.

Fatores atenuantes

A Microsoft não identificou nenhum fator atenuante para essa vulnerabilidade.

Soluções alternativas

A solução alternativa refere-se a uma configuração ou alteração de configuração que não corrige a vulnerabilidade subjacente mas que ajudaria a bloquear vetores de ataque conhecidos antes de aplicar a atualização. A Microsoft testou as soluções alternativas e estados a seguir como parte do cenário que implica se uma solução alternativa reduziria funcionalidade:

  • Para servidores Windows que hospedam aplicativos Web usando a funcionalidade do SignalR de ASP.NET, desativar o protocolo de transporte do Forever Frame SignalR de ASP.NET fornece proteção temporária à vulnerabilidade.

    Desabilitar o protocolo de transporte do Forever Frame SignalR de ASP.NET no cliente e no servidor é realizado em código. Consulte os seguintes exemplos como orientação para desabilitar o protocolo em seu ambiente.

    O exemplo de código para desabilitar o transporte afetado no cliente:

    // Se usando a conexão padrão de hub$.connection.hub.start({ transport: ["webSockets", "serverSentEvents", "longPolling"] });
    
    // Se usando uma conexão criada manualmentevar connection = $.connection("http://sample.com/signalr");connection.start({ transport: ["webSockets", "serverSentEvents", "longPolling"] });
    

    O exemplo de código para desabilitar o transporte afetado no servidor ao usar o resolvedor de dependência global padrão:

    usar Microsoft. AspNet. SignalR;
    usar Microsoft.AspNet.SignalR.Transports;
    usar Owin;namespace MyApplication        {    
            public static class Startup    
            {        
                ConfigureSignalR public static void (IAppBuilder app)              
                {   
                    // Se usando o resolvedor global de dependência            
                    TurnOfForeverFrame(GlobalHost.DependencyResolver);            
                    app.MapSignalR();        
                }        
                public static void TurnOfForeverFrame(IDependencyResolver resolver)        
                {            
                    var transportManager = resolver.Resolve<ITransportManager>() as TransportManager;            
                    transportManager.Remove("foreverFrame");        
                }    
            }
        }
    

    O exemplo de código para desabilitar o transporte afetado no servidor ao usar um resolvedor de dependência personalizado:

    usar Microsoft. AspNet. SignalR;
    usar Microsoft.AspNet.SignalR.Transports;
    usar Owin;namespace MyApplication
    {    
        public static class Startup    
        {        
            ConfigureSignalR public static void (IAppBuilder app)       
            {            
                // Se usando um resolvedor de dependência personalizado            
                var resolver = GetCustomResolver();            
                TurnOfForeverFrame(resolver);            
                app.MapSignalR(new HubConfiguration 
                {                
                    Resolver = resolver          
                });        
            }        
            private static IDependencyResolver GetCustomResolver()        
            {            
                return new DefaultDependencyResolver();        
            }        
            public static void TurnOfForeverFrame(IDependencyResolver resolver)        
            {            
                var transportManager = resolver.Resolve<ITransportManager>() as TransportManager;            
                transportManager.Remove("foreverFrame");        
            }    
        }
    }
    

    Impacto da solução alternativa. Após implementar a solução alternativa, os clientes do Internet Explorer podem ter uma velocidade de comunicação mais lenta para o aplicativo SignalR.

  • Para sistemas com o Microsoft Visual Studio Team Foundation Server 2013 instalado, a Microsoft não identificou nenhuma solução alternativa.

    Perguntas frequentes

Qual é o escopo da vulnerabilidade?
Esta é uma vulnerabilidade de elevação de privilégio.

O que provoca a vulnerabilidade?
A vulnerabilidade é causada quando ASP.NET SignalR codifica de modo inadequado a entrada de usuário.

Para que um invasor pode usar a vulnerabilidade?
Em um cenário de navegação na Web, um invasor pode refletir Javascript especialmente criado para o navegador do usuário, que pode permitir que o invasor modifique o conteúdo da página, levando ao phishing e executando ações em nome do usuário.

De que forma o invasor pode explorar a vulnerabilidade?
Em um cenário de ataque, um invasor pode introduzir, no navegador de um usuário alvo, conteúdo especialmente criado que contém Javascript mal-intencionado projetado para dar o acesso ao invasor a recursos que estão disponíveis para o usuário alvo.

Quais são os principais sistemas que correm riscos com a vulnerabilidade?
Em um cenário de navegação na Web, a exploração bem-sucedida desta vulnerabilidade requer que um usuário faça logon e visite um site que hospeda o ASP.NET SignalR. Portanto, quaisquer sistemas nos quais o navegador da Web seja usado com frequência, como estações de trabalho ou servidores de terminal, estão mais expostos a essa vulnerabilidade. Os servidores correm mais riscos se os administradores permitirem que os usuários procurem e leiam emails nos servidores. Entretanto, as práticas recomendadas não recomendam esse procedimento.

O que a atualização faz?
A atualização elimina a vulnerabilidade, assegurando que o ASP.NET SignalR adequadamente codifica a entrada de usuário.

Quando esse boletim de segurança foi lançado, essa vulnerabilidade já havia sido divulgada publicamente?
Não. A Microsoft recebeu informações sobre esta vulnerabilidade por meio da divulgação coordenada de vulnerabilidades.

Quando esse boletim de segurança foi lançado, a Microsoft havia recebido algum relatório informando que essa vulnerabilidade estava sendo explorada?
Não. A Microsoft não recebeu nenhuma informação indicando que essa vulnerabilidade tinha sido usada publicamente para atacar clientes quando este boletim de segurança foi lançado pela primeira vez.

Informações da atualização

Orientação e ferramentas de detecção e implantação

Vários recursos estão disponíveis para ajudar administradores a implantar atualizações de segurança. 

  • O MBSA (Microsoft Baseline Security Analyzer) permite aos administradores pesquisar, em sistemas locais e remotos, atualizações de segurança ausentes e problemas de configuração de segurança comuns. 
  • O WSUS (Windows Server Update Services), SMS (Systems Management Server) e SCCM (System Center Configuration Manager) ajudam os administradores a distribuir as atualizações de segurança. 
  • Os componentes do Avaliador de compatibilidade com atualizações, incluídos no Kit de ferramentas de compatibilidade de aplicativos, auxilia a otimizar os testes e a validação das atualizações do Windows com relação aos aplicativos instalados. 

Para informações sobre estas e outras ferramentas que estão disponíveis, consulte Ferramentas de segurança para profissionais de TI.

Implantação de atualização de segurança

Softwares afetados

Para obter informações sobre uma atualização de segurança específica para seu software afetado, clique no link apropriado:

ASP.NET SignalR (todas as versões)

Várias opções de atualização estão disponíveis dependendo de seu cenário de implantação. Escolha a melhor opção para seu cenário:

Para desenvolvedores de aplicativos Web com o ASP.NETSignalR

  • Opção 1: Atualize seus pacotes de projeto do Visual Studio usando NuGet, recompile seu aplicativo e implante

    1. Abra sua solução em Visual Studio.
    2. No Gerenciador de soluções, clique com o botão direito do mouse no nó Referências e então clique em Gerenciar pacotes de NuGet.
    3. Selecione a guia Atualizações. Uma lista de pacotes com atualizações aparece no painel de centro.
    4. Selecione o pacote Microsoft. AspNet.SignalR e então clique em Atualização.
    5. Compile e implante seu aplicativo Web.

    Para obter mais informações sobre gerenciamento de Pacotes de NuGet usando a caixa de diálogo de NuGet, consulte Managing NuGet Packages Using the Dialog.

  • Opção 2: Atualize seus pacotes de projeto de Visual Studio usando a Interface de usuário do console do gerenciador de pacote, recompile seu aplicativo e implante

    1. Abra sua solução em Visual Studio.
    2. Clique no menu Ferramentas, selecione Biblioteca do gerenciador de pacote, e em Console do gerenciador de pacote.
    3. Na janela do gerenciador de pacote, digite Atualizar pacote Microsoft. AspNet. SignalR.
    4. Compile e implante seu aplicativo Web.

    Para obter mais informações sobre como usar o Console do gerenciador de pacote, consulte Usar o Package Manager Console.

Para administradores do sistema que não podem recompilar aplicativos Web com ASP.NET SignalR

  • Atualize o ASP.NET SignalR nos sistemas de administrador

    Para proteger os servidores antes de atualizar projetos e reimplantar aplicativos Web, instale a atualização usando o link fornecido na tabela a seguir. Isto deve ser considerado uma proteção provisória para administradores de TI até que os aplicativos implantados que usam o ASP.NET SignalR possam ser atualizados.

    Arquivo de atualização SignalR-KB2903919.msi
    Opções de instalação Consulte o artigo 262841 (em inglês) da Microsoft Knowledge Base
    Arquivo de log de atualização Não Aplicável
    Requisitos de reinicialização Não é necessário reiniciar o sistema; no entanto, o IIS será reiniciado.
    Informações sobre remoção Use a ferramenta Adicionar ou Remover Programas no Painel de controle.
    Informações sobre o arquivo Consulte o Artigo 2903919 da Microsoft Knowledge Base

Microsoft Visual Studio Team Foundation Server 2013 (todas as versões)

Tabela de referência

A tabela a seguir contém as informações de atualização de segurança desse software.

Nomes dos arquivos de atualização de segurança Para Microsoft Visual Studio Team Foundation Server 2013:
TFS2013-KB2903566.exe
Opções de instalação Consulte o artigo 262841 (em inglês) da Microsoft Knowledge Base
Arquivo de log de atualização Não Aplicável
Requisitos de reinicialização Esta atualização poderá exigir uma reinicialização se os arquivos estiverem em uso.
Informações sobre remoção Use a ferramenta Adicionar ou Remover Programas no Painel de controle.
Informações sobre o arquivo Consulte o Artigo 2903566 (em inglês) da Microsoft Knowledge Base
Verificação da chave de registro Para Microsoft Visual Studio Team Foundation Server 2013:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\DevDiv\tfs\Servicing\12.0

Outras informações

Microsoft Active Protections Program (MAPP)

Para melhorar as proteções de segurança para os clientes, a Microsoft fornece informações sobre vulnerabilidades aos principais fornecedores de software de segurança antes do lançamento de cada atualização de segurança mensal. Assim, os fornecedores de software de segurança podem usar essas informações sobre vulnerabilidades para fornecer proteções atualizadas aos clientes por meio de seus softwares ou dispositivos de segurança, como antivírus, sistemas de detecção de invasões baseados em rede ou sistemas de prevenção de invasões baseados em host. Para determinar se os fornecedores de software de segurança estão disponibilizando proteções ativas, visite os sites de proteções ativas fornecidos pelos parceiros do programa, listados em Parceiros do Microsoft Active Protections Program (MAPP).

Suporte

Como obter ajuda e suporte para esta atualização de segurança

Aviso de isenção de responsabilidade

As informações fornecidas na Microsoft Knowledge Base são apresentadas "no estado em que se encontram", sem garantia de qualquer tipo. A Microsoft se isenta de todas as garantias, expressas ou implícitas, inclusive 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, consequenciais, 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 consequenciais ou indiretos, a limitação acima pode não ser aplicável a você.

Revisões

  • V1.0 (10 de dezembro de 2013): Boletim publicado.

Built at 2014-04-18T01:50:00Z-07:00