Boletim de Segurança

Microsoft Security Bulletin MS13-103 - Importante

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

Publicado em: 10 de dezembro de 2013

Versão: 1.0

Informações Gerais

Resumo executivo

Esta atualização de segurança elimina uma vulnerabilidade relatada em particular no ASP.NET SignalR. A vulnerabilidade pode permitir a elevação de privilégio se um invasor refletir JavaScript especialmente criado de volta para o navegador de um usuário visado.

Esta atualização de segurança é classificada como Importante para ASP.NET versões do SignalR 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, garantindo que ASP.NET SignalR codifice corretamente a entrada do usuário. Para obter mais informações sobre a vulnerabilidade, consulte a subseção Perguntas frequentes sobre a entrada de vulnerabilidade específica na próxima seção, Informações sobre a vulnerabilidade.

Recomendação

Paraclientes que estão desenvolvendo aplicativos Web que usamASP.NET SignalR:
Os clientes que estão desenvolvendo aplicativos Web que usam ASP.NET funcionalidade do SignalR são incentivados a seguir as diretrizes de atualização na seção Security UpdateDeployment deste boletim para obter instruções detalhadas sobre como atualizar ASP.NET SignalR em seus ambientes.

Paraclientesque executaminstalações doMicrosoft Visual Studio Team Foundation Server2013:
Para clientes que têm a atualização automática habilitada e que estão executando o Microsoft Visual Studio Team Foundation Server 2013, a atualização será baixada e instalada automaticamente. Os clientes que não habilitaram a atualização automática precisam verificar se há atualizações e instalar essa atualização manualmente. Para obter informações sobre opções de configuração específicas na atualização automática, consulte o Artigo 294871 da Base de Dados de Conhecimento Microsoft.

Para instalações de administradores e empresas, ou usuários finais que desejam instalar esta atualização de segurança manualmente, a Microsoft recomenda que os clientes apliquem a atualização o mais rápido possível usando o software de gerenciamento de atualizações ou verificando se há atualizações usando o 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 Base de Dados de Conhecimento

Artigo da Base de Dados de Conhecimento 2905244
Informações do arquivo Yes
Hashes SHA1/SHA2 Yes
Problemas conhecidos Nenhum

Software afetado e não afetado

O software a seguir foi testado para determinar quais versões ou edições são afetadas. Outras versões ou edições já passaram do ciclo de vida de suporte ou não são afetadas. Para determinar o ciclo de vida de suporte para sua versão ou edição de software, consulte Ciclo de Vida do Suporte da Microsoft.

Softwares afetados 

Ferramentas para Desenvolvedores Impacto máximo na segurança Classificação de gravidade agregada Atualizações substituídas
ASP.NET SignalR 1.1.x[1] \ (2903919) Elevação de privilégio Importante Nenhum
ASP.NET SignalR 2.0.x[1] \ (2903919) Elevação de privilégio Importante Nenhum
Microsoft Visual Studio Team Foundation Server 2013 \ (2903566) Elevação de privilégio Importante Nenhum

[1]Aplica-se a servidores Windows que hospedam aplicativos Web que oferecem suporte à funcionalidade ASP.NET SignalR. A atualização, disponível apenas para download, atualiza as versões 1.1.0, 1.1.1, 1.1.2 e 1.1.3 e a versão 2.0.0 para as versões mais recentes com suporte (1.1.4 e 2.0.1 na data deste boletim). Consulte a seção Implantação de Atualização de Segurança deste boletim para obter mais informações.
** **

Software não afetado

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 sobre atualizações

O que éASP.NET SignalR? 
ASP.NET SignalR é uma biblioteca para desenvolvedores de ASP.NET que simplifica o desenvolvimento de funcionalidades web em tempo real. ASP.NET SignalR permite a comunicação bidirecional entre servidor e cliente via JavaScript, permitindo que os servidores enviem conteúdo para clientes conectados instantaneamente à medida que ele se torna disponível (funcionalidade push). Para obter mais informações sobre ASP.NET SignalR, consulte Saiba mais sobre ASP.NET SignalR.

Como posso determinar quais as versõesdoASP.NET SignalRareinstaladas no meusistema? 
Para determinar as versões do ASP.NET SignalR que são implantadas em seu sistema, execute uma pesquisa do disco rígido do sistema para "SignalR". Exiba as propriedades de todos os arquivos Microsoft.AspNet.SignalR.Core.dll retornados na pesquisa para revelar seus números de versão. Todas as versões 1.1.x anteriores à versão 1.1.4 são vulneráveis e devem ser atualizadas. Todas as versões 2.0.x anteriores à versão 2.0.1 são vulneráveis e devem ser atualizadas. Quaisquer versões 1.0.x encontradas não são vulneráveis.

Como faço para atualizar minha versão do ASP.NET SignalR?
Instâncias do ASP.NET SignalR que foram instaladas com o Visual Studio Team Foundation Server 2013 serão atualizadas por meio do Microsoft Update. No entanto, outras instâncias do ASP.NET SignalR que residem em sistemas de desenvolvedor e servidores de aplicativos Web precisarão ser atualizadas usando processos definidos na Seção Implantação de Atualizaçãode Segurança deste boletim.

Esta atualização atualizará minha versão do ASP.NET SignalR?  
Não. A atualização atualizará a versão do patch instalada em um sistema, mas não atualizará a versão principal ou secundária. A partir do lançamento deste boletim, duas versões principais do ASP.NET SignalR são suportadas (versões 1.1.x e 2.0.x). A atualização atualizará todas as versões 1.1.x para 1.1.4 e todas as versões 2.0.x para 2.0.1.

Estou usando uma versão mais antigado software discutido neste boletim de segurança. O que devo fazer? 
O software afetado listado neste boletim foi testado para determinar quais versões são afetadas. Outras versões já passaram do ciclo de vida de suporte. Para obter mais informações sobre o ciclo de vida do produto, consulte o site do Ciclo de Vida do Suporte da Microsoft.

Deve ser uma prioridade para os clientes que têm versões mais antigas do software migrar para versões com suporte para evitar a exposição potencial a vulnerabilidades. Para determinar o ciclo de vida de suporte para sua versão de software, consulte Selecionar um produto para obter informações sobre o ciclo de vida. Para obter mais informações sobre service packs para essas versões de software, consulte Política de suporte ao ciclo de vida do Service Pack.

Os clientes que precisam de suporte personalizado para software mais antigo devem entrar em contato com o representante da equipe de contas da Microsoft, o gerente técnico de contas ou o representante de parceiro da Microsoft apropriado para obter opções de suporte personalizadas. Os clientes sem um Contrato Alliance, Premier ou Autorizado podem entrar em contato com o escritório de vendas local da Microsoft. Para obter informações de contato, consulte o site Microsoft Worldwide Information , selecione o país na lista Informações de contato e clique em Ir para ver uma lista de números de telefone. Quando ligar, peça para falar com o gerente de vendas do Suporte Premier local. Para obter mais informações, consulte as Perguntas frequentes sobre a Política de Ciclo de Vida do Suporte da Microsoft.

Informações sobre vulnerabilidade

Classificações de gravidade e identificadores de vulnerabilidade

As classificações de gravidade a seguir pressupõem o impacto máximo potencial da vulnerabilidade. Para obter informações sobre a probabilidade, dentro de 30 dias após o lançamento deste boletim de segurança, da possibilidade de exploração da vulnerabilidade em relação à sua classificação de gravidade e impacto à segurança, consulte o Índice de exploração no resumo de boletins de dezembro. Para obter mais informações, consulte Índice de exploração da Microsoft.

Softwares afetados Vulnerabilidade de XSS do SignalR - CVE-2013-5042 Classificaçã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

Existe uma vulnerabilidade de elevação de privilégio no ASP.NET SignalR que pode permitir que um invasor acesse recursos no contexto do usuário visado.

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

Fatores atenuantes

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

Soluções Alternativas

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 seguintes soluções alternativas e estados na discussão se uma solução alternativa reduz a funcionalidade:

  • Para servidores Windows que hospedam aplicativosWeb usandoASP.NET funcionalidade SignalR, desativar o protocolode transporteASP.NET SignalRForever Frameforneceproteção temporária contra a vulnerabilidade.

    A desativação do protocolo de transporte ASP.NET SignalR Forever Frame nos lados do cliente e do servidor é realizada no código. Consulte os exemplos a seguir como orientação para desabilitar o protocolo em seu ambiente.

    Exemplo de código para desabilitar o transporte afetado do lado do cliente:

    // If using the default hub connection
    $.connection.hub.start({ transport: ["webSockets", "serverSentEvents", "longPolling"] });
    
    // If using a manually-created connection
    var connection = $.connection("https://sample.com/signalr");
    connection.start({ transport: ["webSockets", "serverSentEvents", "longPolling"] });
    

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

    using Microsoft.AspNet.SignalR;
    using Microsoft.AspNet.SignalR.Transports;
    using Owin;
    namespace MyApplication
    {
        public static class Startup
        {
            public static void ConfigureSignalR(IAppBuilder app)
            {
                // If using the global dependency resolver
                TurnOfForeverFrame(GlobalHost.DependencyResolver);
                app.MapSignalR();
            }
            public static void TurnOfForeverFrame(IDependencyResolver resolver)
            {
                var transportManager = resolver.Resolve<itransportmanager>() as TransportManager;
                transportManager.Remove("foreverFrame");
            }
        }
    }
    
    
    Code example to disable the affected transport on the server side when using a custom dependency resolver:
    
    using Microsoft.AspNet.SignalR;
    using Microsoft.AspNet.SignalR.Transports;
    using Owin;
    namespace MyApplication
    {
        public static class Startup
        {
            public static void ConfigureSignalR(IAppBuilder app)
            {
                // If using a custom dependency resolver
                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><itransportmanager>() as TransportManager;
                transportManager.Remove("foreverFrame");
            }
        }
    }
    

    Impacto da solução alternativa. Depois de implementar a solução alternativa, os clientes do Internet Explorer podem exibir 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 é a abrangência da vulnerabilidade?
Esta é uma vulnerabilidade de elevação de privilégio.

O que causa a vulnerabilidade?
A vulnerabilidade é causada quando ASP.NET SignalR codifica incorretamente a entrada do 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 de volta para o navegador do usuário, o que pode permitir que o invasor modifique o conteúdo da página, realize phishing ou execute ações em nome do usuário visado.

Como um invasor pode explorar avulnerabilidade?
Em um cenário de ataque, um invasor pode introduzir no navegador de um usuário de destino conteúdo especialmente criado que contenha JavaScript mal-intencionado projetado para dar ao invasor acesso a recursos disponíveis para o usuário visado.

Quais são os sistemas que mais correm risco com a vulnerabilidade?
Em um cenário de navegação na Web, a exploração bem-sucedida dessa vulnerabilidade requer que um usuário esteja conectado e visitando um site que esteja hospedando ASP.NET SignalR. Portanto, todos os sistemas em que os navegadores da Web são usados com frequência, como estações de trabalho ou servidores de terminal, correm mais risco com essa vulnerabilidade. Os servidores podem correr mais riscos se os administradores permitirem que os usuários naveguem e leiam emails nos servidores. No entanto, as práticas recomendadas desencorajam fortemente a permissão disso.

O que a atualização faz?
A atualização elimina a vulnerabilidade, garantindo que ASP.NET SignalR codifice corretamente a entrada do usuário.

Quando este boletim de segurança foi emitido, esta vulnerabilidade tinha sido divulgada publicamente?
Não. A Microsoft recebeu informações sobre esta vulnerabilidade através da divulgação coordenada de vulnerabilidades.

Quando este boletim de segurança foi emitido, a Microsoft tinha recebido relatórios de que esta vulnerabilidade estava a ser explorada?
Não. A Microsoft não tinha recebido nenhuma informação que indicasse que esta vulnerabilidade tinha sido usada publicamente para atacar clientes quando este boletim de segurança foi publicado originalmente.

Informações de atualização

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

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

  • O Microsoft Baseline Security Analyzer (MBSA) permite que os administradores verifiquem os sistemas locais e remotos em busca de atualizações de segurança ausentes e configurações incorretas de segurança comuns. 
  • O Windows Server Update Services (WSUS), o Systems Management Server (SMS) e o System Center Configuration Manager ajudam os administradores a distribuir atualizações de segurança. 
  • Os componentes do Update Compatibility Evaluator incluídos no Application Compatibility Toolkit ajudam a simplificar o teste e a validação de atualizações do Windows em relação aos aplicativos instalados. 

Para obter informações sobre essas e outras ferramentas 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 a atualização de segurança específica para o 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 do cenário de implantação. Escolha a melhor opção para o seu cenário:

Para desenvolvedores de aplicativos Web habilitados para ASP.NET SignalR

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

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

    Para obter mais informações sobre como gerenciar pacotes NuGet usando a caixa de diálogo NuGet, consulte Gerenciando pacotes NuGet usando a caixa de diálogo.

  • Opção 2:Atualize seus pacotes de projeto do Visual Studio usando a interface do usuário do Console do Gerenciador de Pacotes, recompile seu aplicativo e implante

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

    Para obter mais informações sobre como usar o Console do Gerenciador de Pacotes, consulte Usando o Console do Gerenciador de Pacotes.

Para administradores de sistema que não podem recompilar ASP.NET aplicativos Web habilitados para SignalR

  • Atualizar ASP.NET SignalR em 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 abaixo. Isso deve ser considerado uma proteção provisória para administradores de TI até que os aplicativos implantados que usam ASP.NET SignalR possam ser atualizados.

    Atualizar o arquivo SignalR-KB2903919.msi
    Opções de instalação Consulte o Artigo 262841 da Base de Dados de Conhecimento Microsoft
    Atualizararquivo de log Não aplicável
    Requisito de reinicialização A reinicialização do sistema não é necessária; no entanto, o IIS será reiniciado.
    Informações de remoção Use Adicionar ou remover programas no painel de controle.
    Informações de arquivo Consulte o Artigo 2903919 da Base de Dados de Conhecimento Microsoft

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 para este software.

Nomes de arquivo 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 da Base de Dados de Conhecimento Microsoft
Atualizar arquivo de log Não aplicável
Requisito de reinicialização Esta atualização pode exigir uma reinicialização se os arquivos estiverem em uso.
Informações de remoção Use Adicionar ou remover programas no painel de controle.
Informações de arquivo Consulte o Artigo 2903566 da Base de Dados de Conhecimento Microsoft
Verificação da chave do Registro Para Microsoft Visual Studio Team Foundation Server 2013:\ HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\DevDiv\tfs\Servicing\12.0

Outras Informações

Programa de Proteção Ativa da Microsoft (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 de cada lançamento mensal da atualização de segurança. Os provedores de software de segurança podem usar essas informações de vulnerabilidade 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 intrusão baseados em rede ou sistemas de prevenção de intrusão baseados em host. Para determinar se as proteções ativas estão disponíveis em provedores de software de segurança, acesse os sites de proteções ativas fornecidos por 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 Base de Dados de Conhecimento Microsoft são fornecidas "no estado em que se encontram", sem qualquer tipo de garantia. 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 (10 de dezembro de 2013): Boletim publicado.

Construído em 2014-04-18T13:49:36Z-07:00