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 |
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
- Abra sua solução em Visual Studio.
- 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.
- Selecione a guia Atualizações. Uma lista de pacotes com atualizações aparece no painel de centro.
- Selecione o pacote Microsoft. AspNet.SignalR e então clique em Atualização.
- 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
- Abra sua solução em Visual Studio.
- Clique no menu Ferramentas, selecione Biblioteca do gerenciador de pacote, e em Console do gerenciador de pacote.
- Na janela do gerenciador de pacote, digite Atualizar pacote Microsoft. AspNet. SignalR.
- 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
- Ajude a instalar atualizações: Suporte para Microsoft Update
- Soluções de segurança para profissionais de TI: Solução de problemas e suporte de segurança TechNet
- Ajuda a proteger seu computador Windows de vírus e malware: Central de segurança e solução contra vírus
- Suporte local de acordo com seu país: Suporte internacional
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