Comunicado de Segurança da Microsoft 4021279

Vulnerabilidades no .NET Core, ASP.NET Core podem permitir elevação de privilégio

Publicado: terça-feira, 9 de maio de 2017 | Atualizado: May 10, 2017

Versão: 1.1

Resumo executivo

A Microsoft está lançando este comunicado de segurança para fornecer informações sobre vulnerabilidades no .NET Core público e no ASP.NET Core. Esse comunicado também fornece orientação sobre o que os desenvolvedores podem fazer para atualizar seus aplicativos corretamente.

O .NET Core & ASP.NET Core são a próxima geração do .NET que fornece uma estrutura familiar e moderna para cenários da Web e da nuvem. Esses produtos são ativamente desenvolvidos pela equipe do .NET e ASP.NET em colaboração com uma comunidade de desenvolvedores de código aberto, rodando em Windows, Mac OS X e Linux. Quando o .NET Core foi lançado, o número da versão foi redefinido para 1.0.0 para refletir o fato de que é um produto separado de seu antecessor -.NET.

Problema: CVEs e Descrição

CVE Descrição
CVE-2017-0247 Negação de Serviço
CVE-2017-0248 Desvio de recurso de segurança
CVE-2017-0249 Elevação de privilégio
CVE-2017-0256 Falsificação

Softwares afetados

As vulnerabilidades afetam qualquer projeto do Microsoft .NET Core se ele usar as seguintes versões de pacote afetadas.

Pacote e versão afetados
Nome do pacote Versões do pacote Versões fixas do pacote
System.Text.Encodings.Web 4.0.0 4.3.0 4.0.1 4.3.1
System.Net.Http 4.1.1 4.3.1 4.1.2 4.3.2
System.Net.Http.WinHttpHandler 4.0.1 4.3.0 4.0.2 4.3.1
System.Net.Security 4.0.0 4.3.0 4.0.1 4.3.1
System.Net.WebSockets.Client 4.0.0 4.3.0 4.0.1 4.3.1
Microsoft.AspNetCore.Mvc 1.0.0, 1.0.1, 1.0.2, 1.0.3 1.1.0, 1.1.1, 1.1.2 1.0.4 1.1.3
Microsoft.AspNetCore.Mvc.Core 1.0.0, 1.0.1, 1.0.2, 1.0.3 1.1.0, 1.1.1, 1.1.2 1.0.4 1.1.3
Microsoft.AspNetCore.Mvc.Abstractions 1.0.0, 1.0.1, 1.0.2, 1.0.3 1.1.0, 1.1.1, 1.1.2 1.0.4 1.1.3
Microsoft.AspNetCore.Mvc.ApiExplorer 1.0.0, 1.0.1, 1.0.2, 1.0.3 1.1.0, 1.1.1, 1.1.2 1.0.4 1.1.3
Microsoft.AspNetCore.Mvc.Cors 1.0.0, 1.0.1, 1.0.2, 1.0.3 1.1.0, 1.1.1, 1.1.2 1.0.4 1.1.3
Microsoft.AspNetCore.Mvc.DataAnnotations 1.0.0, 1.0.1, 1.0.2, 1.0.3 1.1.0, 1.1.1, 1.1.2 1.0.4 1.1.3
Microsoft.AspNetCore.Mvc.Formatters.Json 1.0.0, 1.0.1, 1.0.2, 1.0.3 1.1.0, 1.1.1, 1.1.2 1.0.4 1.1.3
Microsoft.AspNetCore.Mvc.Formatters.Xml 1.0.0, 1.0.1, 1.0.2, 1.0.3 1.1.0, 1.1.1, 1.1.2 1.0.4 1.1.3
Microsoft.AspNetCore.Mvc.Localization 1.0.0, 1.0.1, 1.0.2, 1.0.3 1.1.0, 1.1.1, 1.1.2 1.0.4 1.1.3
Microsoft.AspNetCore.Mvc.Razor.Host 1.0.0, 1.0.1, 1.0.2, 1.0.3 1.1.0, 1.1.1, 1.1.2 1.0.4 1.1.3
Microsoft.AspNetCore.Mvc.Razor 1.0.0, 1.0.1, 1.0.2, 1.0.3 1.1.0, 1.1.1, 1.1.2 1.0.4 1.1.3
Microsoft.AspNetCore.Mvc.TagHelpers 1.0.0, 1.0.1, 1.0.2, 1.0.3 1.1.0, 1.1.1, 1.1.2 1.0.4 1.1.3
Microsoft.AspNetCore.Mvc.ViewFeatures 1.0.0, 1.0.1, 1.0.2, 1.0.3 1.1.0, 1.1.1, 1.1.2 1.0.4 1.1.3
Microsoft.AspNetCore.Mvc.WebApiCompatShim 1.0.0, 1.0.1, 1.0.2, 1.0.3 1.1.0, 1.1.1, 1.1.2 1.0.4 1.1.3

Perguntas frequentes sobre o Advisory

Como saber se sou afetado?
O .NET Core e o ASP.NET Core têm dois tipos de dependências: direta e transitiva. Se o seu projeto tiver uma dependência direta ou transitiva de qualquer um dos pacotes e versões listados anteriormente, você será afetado.

Observação

Como parte da aplicação de patches ASP.NET Core MVC, atualizamos todos os pacotes Microsoft.AspNetCore.Mvc.*. Se, por exemplo, você tiver uma dependência de Microsoft.AspNetCore.Mvc, você deve atualizar para a versão apropriada primeiro (1.0.x deve ser atualizado para 1.0.4, 1.1.x deve ser atualizado para 1.1.3) e também atualizará qualquer outra dependência vulnerável Microsoft.AspNetCore.Mvc.

Formatos do projeto .NET Core

O .NET Core tem dois formatos de arquivo de projeto diferentes, dependendo do software que criou o projeto.

  1. project.json é o formato original, incluído no .NET Core 1.0 e no Microsoft Visual Studio 2015.
  2. csproj é o formato usado no Microsoft Visual Studio 2017.

Você deve garantir que siga as instruções de atualização corretas para o tipo de projeto.

Dependências diretas

Dependências diretas são dependências em que você adiciona especificamente um pacote ao seu projeto. Por exemplo, se você adicionar o pacote Microsoft.AspNetCore.Mvc ao seu projeto, então você tomou uma dependência direta de Microsoft.AspNetCore.Mvc.

As dependências diretas podem ser descobertas revisando o arquivo project.json ou csproj.

Dependências transitivas

As dependências transitivas ocorrem quando você adiciona um pacote ao seu projeto que, por sua vez, depende de outro pacote. Por exemplo, se você adicionar o pacote Microsoft.AspNetCore.Mvc ao seu projeto, ele dependerá do pacote Microsoft.AspNetCore.Mvc.Core (entre outros). Seu projeto tem uma dependência direta de Microsoft.AspNetCore.Mvc e uma dependência transitiva do pacote Microsoft.AspNetCore.Mvc.Core.

As dependências transitivas podem ser revisadas na janela Gerenciador de Soluções do Visual Studio, que oferece suporte à pesquisa, ou examinando o arquivo project.lock.json contido no diretório raiz do seu projeto para projetos project.json ou o arquivo project.assets.json contido no diretório obj do seu projeto para projetos csproj. Esses arquivos são a lista autoritativa de todos os pacotes usados pelo seu projeto, contendo dependências diretas e transitivas.

Como faço para corrigir meu aplicativo afetado?

Você precisará corrigir as dependências diretas e revisar e corrigir quaisquer dependências transitivas. Os pacotes e versões afetados na seção "Software afetado" anterior incluem cada pacote vulnerável, as versões vulneráveis e as versões corrigidas.

Se você estiver usando ASP.NET Core MVC em seus projetos, você deve primeiro atualizar a versão Microsoft.AspNetCore.Mvc de acordo com a tabela de versões afetadas anteriores. Se você estiver usando a versão 1.0.0, 1.0.1, 1.0.2 ou 1.0.3, atualize a versão do pacote para 1.0.4. Se você estiver usando a versão 1.1.0, 1.1.1 ou 1.1.2, você deve atualizar a versão do pacote para 1.1.3. Isso atualizará cada pacote MVC para as versões corrigidas.

Corrigindo dependências diretas - project.json/VS2015

Abra o arquivo project.json no editor. Procure a seção de dependências. Abaixo está um exemplo de seção de dependências:

    "dependencies": {
        "Microsoft.NETCore.App": {
          "version": "1.0.1",
          "type": "platform"
        },
        "Microsoft.AspNetCore.Server.Kestrel": "1.0.1",
        "Microsoft.AspNetCore.Mvc ": "1.0.1",
         
      }

Este exemplo tem três dependências diretas: Microsoft.NETCore.App, Microsoft.AspNetCore.Server.Kestrel e Microsoft.AspNetCore.Mvc.

Microsoft.NetCore.App é a plataforma que o aplicativo visa, você deve ignorar isso. Os outros pacotes expõem sua versão à direita do nome do pacote. Em nosso exemplo, nossos pacotes que não são de plataforma são a versão 1.0.1.

Revise suas dependências diretas para qualquer instância dos pacotes e versões listados anteriormente. No exemplo anterior, há uma dependência direta de um dos pacotes vulneráveis, Microsoft.AspNetCore.Mvc versão 1.0.1.

Para atualizar para o pacote fixo, altere o número da versão para ser o pacote apropriado para sua versão. No exemplo, isso seria atualizar Microsoft.AspNetCore.Mvc para 1.0.4.

Depois de atualizar as versões vulneráveis do pacote, salve o arquivo project.json.

A seção de dependências em nosso project.json de exemplo agora teria a seguinte aparência:

      "dependencies": {
        "Microsoft.NETCore.App": {
          "version": "1.0.1",
          "type": "platform"
        },
        "Microsoft.AspNetCore.Server.Kestrel": "1.0.1",
        "Microsoft.AspNetCore.Mvc": "1.0.4",
          
      }

Se você estiver usando o Visual Studio e salvar seu arquivo de project.json atualizado, o Visual Studio restaurará a nova versão do pacote. Você pode ver os resultados da restauração abrindo a Janela de Saída (Ctrl+Alt+O) e alterando a lista suspensa Mostrar saída de para Gerenciador de Pacotes.

Se você não estiver usando o Visual Studio, abra uma linha de comando e altere para o diretório do projeto. Execute o comando dotnet restore para restaurar sua nova dependência.

Depois de resolver todas as suas dependências diretas, você também deve revisar suas dependências transitivas.

Corrigindo dependências diretas - csproj/VS2017

Abra o arquivo projectname.csproj no editor ou clique com o botão direito do mouse no projeto no Visual Studio 2017 e escolha Editar nomedoprojeto.csproj no menu de conteúdo, onde nomedoprojeto é o nome do projeto. Procure nós PackageReference. A seguir mostra um arquivo de projeto de exemplo:


    <project sdk="Microsoft.NET.Sdk.Web">
<propertygroup>
<targetframework>netcoreapp1.1</targetframework>
</propertygroup>
<propertygroup>
<packagetargetfallback>$(PackageTargetFallback);portable-net45+win8+wp8+wpa81;</packagetargetfallback>
</propertygroup>
<itemgroup>
<packagereference include="Microsoft.AspNetCore" version="1.1.1">
</packagereference><packagereference include="Microsoft.AspNetCore.Mvc" version="1.1.2">
</packagereference></itemgroup>
<itemgroup>
<dotnetclitoolreference include="Microsoft.VisualStudio.Web.CodeGeneration.Tools" version="1.0.0 ">
</dotnetclitoolreference></itemgroup>
</project>

O exemplo tem duas dependências de pacote diretas, como visto pelos dois elementos PackageReference. O nome do pacote está no atributo Include e o número da versão do pacote está no atributo Version exposto à direita do nome do pacote. O exemplo mostra dois pacotes Microsoft.AspNetCore versão 1.1.1 e Microsoft.AspNetCore.Mvc.Core versão 1.1.2.

Revise seus elementos PackageReference para qualquer instância dos pacotes e versões listados anteriormente. No exemplo anterior, há uma dependência direta de um dos pacotes vulneráveis, Microsoft.AspNetCore.Mvc versão 1.1.2.

Para atualizar para o pacote fixo, altere o número da versão para o pacote apropriado para sua versão. No exemplo, isso estaria atualizando Microsoft.AspNetCore.Mvc para 1.1.3.

Depois de atualizar a versão vulnerável do pacote, salve o arquivo csproj.

O exemplo csproj agora teria a seguinte aparência:


    <project sdk="Microsoft.NET.Sdk.Web">
<propertygroup>
<targetframework>netcoreapp1.1</targetframework>
</propertygroup>
<propertygroup>
<packagetargetfallback>$(PackageTargetFallback);portable-net45+win8+wp8+wpa81;</packagetargetfallback>
</propertygroup>
<itemgroup>
<packagereference include="Microsoft.AspNetCore" version="1.1.1">
</packagereference><packagereference include="Microsoft.AspNetCore.Mvc.Core" version="1.1.3">
</packagereference></itemgroup>
<itemgroup>
<dotnetclitoolreference include="Microsoft.VisualStudio.Web.CodeGeneration.Tools" version="1.0.0 ">
</dotnetclitoolreference></itemgroup>
</project>

Se você estiver usando o Visual Studio e salvar o arquivo csproj atualizado, o Visual Studio restaurará a nova versão do pacote. Você pode ver os resultados da restauração abrindo a Janela de Saída (Ctrl+Alt+O) e alterando a lista suspensa Mostrar saída de para Gerenciador de Pacotes.

Se você não estiver usando o Visual Studio, abra uma linha de comando e altere para o diretório do projeto. Execute o comando dotnet restore para restaurar sua nova dependência.

Recompile seu aplicativo.

Se, após a recompilação, você vir um aviso de conflito de dependência, deverá atualizar suas outras dependências diretas para a versão apropriada. Por exemplo, se seu projeto se refere a Microsoft.AspNetCore.Routing com um número de versão 1.0.1 quando você atualiza seu pacote Microsoft.AspNetCore.Mvc para 1.0.4, a compilação lançará:

NU1012 Conflito de dependência. Microsoft.AspNetCore.Mvc.Core 1.0.4 esperado Microsoft.AspNetCore.Routing >= 1.0.4, mas recebeu 1.0.1

Para corrigir isso, edite a versão do pacote esperado para ser a versão esperada atualizando seu csproj ou project.json da mesma forma que você usou para atualizar as versões vulneráveis do pacote.

Depois de resolver todas as suas dependências diretas, você também deve revisar suas dependências transitivas.

Examinando dependências transitivas

Há duas maneiras de exibir dependências transitivas. Você pode usar o Gerenciador de Soluções do Visual Studio ou pode revisar seu arquivo project.lock.json (project.json/VS2015) ou project.assets.json (csproj/VS2017).

Usando o Gerenciador de Soluções do Visual Studio (VS2015)

Se você quiser usar o Visual Studio 2015, abra seu projeto no Visual Studio 2015 e pressione Ctrl+; para ativar a pesquisa no Gerenciador de Soluções. Pesquise cada um dos nomes de pacotes vulneráveis e anote os números de versão de todos os resultados encontrados.

Por exemplo, pesquisar Microsoft.AspNetCore.Mvc.Core em um projeto de exemplo que contém uma referência a Microsoft.AspNetCore.Mvc mostra os seguintes resultados no Visual Studio 2015.

Figura 1: Pesquisando referências no Visual Studio 2015

Os resultados da pesquisa aparecem como uma árvore. Nesses resultados, você pode ver que encontramos referências a Microsoft.AspNetCore.Mvc, versão 1.0.1, a versão vulnerável.

A primeira entrada sob o título Referências refere-se à estrutura de destino que seu aplicativo está usando. Isso será . NETCoreApp, . NETStandard ou . NET-Framework-vX.Y.Z (onde X.Y.Z é um número de versão real), dependendo de como você configurou seu aplicativo. Sob sua estrutura de destino estará a lista de pacotes dos quais você assumiu diretamente uma dependência. Neste exemplo, o aplicativo usa uma dependência de Microsoft.AspNetCore.Mvc. Microsoft.AspNetCore.Mvc, por sua vez, tem nós folha que listam suas dependências e suas versões. Nesse caso, o pacote Microsoft.AspNetCore.Mvc depende de uma versão vulnerável do Microsoft.AspNetCore.Mvc.Core e de vários outros pacotes.

Revisão manual project.lock.json (project.json/VS2015)

Abra o arquivo project.lock.json em seu editor. Sugerimos que você use um editor que entenda json e permita que você recolha e expanda nós para revisar este arquivo; o Visual Studio e o Visual Studio Code fornecem essa funcionalidade.

Se você estiver usando o Visual Studio, o arquivo project.lock.json está "em" o arquivo project.json. Clique no triângulo apontando para a direita, ▷, à esquerda do arquivo project.json para expandir a árvore de solução para expor o arquivo project.lock.json. A Figura 1 abaixo mostra um projeto com o arquivo project.json expandido para mostrar o arquivo project.lock.json.

Figura 2: Local do arquivo project.lock.json

Procure no arquivo project.lock.json a cadeia de caracteres "Microsoft.AspNetCore.Mvc.Core/1.1.0". Se o arquivo project.lock.json incluir essa cadeia de caracteres, você terá uma dependência do pacote vulnerável.

Corrigindo dependências transitivas (project.json/VS2015)

Se você não encontrou nenhuma referência a nenhum pacote vulnerável, isso significa que nenhuma de suas dependências diretas depende de nenhum pacote vulnerável ou você já corrigiu o problema atualizando as dependências diretas.

Se sua revisão de dependência transitiva encontrou referências a qualquer um dos pacotes vulneráveis, você deve adicionar uma dependência direta ao pacote atualizado ao arquivo project.json para substituir a dependência transitiva. Abra o project.json e localize a seção de dependências. Por exemplo:


      "dependencies": {
        "Microsoft.NETCore.App": {
          "version": "1.0.1",
          "type": "platform"
        },
        "Microsoft.AspNetCore.Server.Kestrel": "1.1.0",
        "Microsoft.AspNetCore.Mvc": "1.1.0"
      }

Para cada um dos pacotes vulneráveis retornados pela pesquisa, você deve adicionar uma dependência direta à versão atualizada adicionando-a ao arquivo project.json. Para fazer isso, adicione uma nova linha à seção dependências, fazendo referência à versão corrigida. Por exemplo, se sua pesquisa mostrasse uma referência transitiva à versão 4.0.0 vulnerável do System.Net.Security, você adicionaria uma referência à versão fixa apropriada, 4.0.1. Edite o arquivo project.json da seguinte maneira:


      "dependencies": {
        "Microsoft.NETCore.App": {
          "version": "1.0.1",
          "type": "platform"
        },
        "System.Net.Security": "4.0.1",
        "Microsoft.AspNetCore.Server.Kestrel": "1.1.0",
        "Microsoft.AspNetCore.Mvc": "1.1.1"
      }

Depois de adicionar dependências diretas aos pacotes fixos, salve o arquivo project.json.

Se você estiver usando o Visual Studio, salve o arquivo de project.json atualizado e o Visual Studio restaurará as novas versões do pacote. Você pode ver os resultados da restauração abrindo a Janela de Saída (Ctrl+Alt+O) e alterando a lista suspensa Mostrar saída de para Gerenciador de Pacotes.

Se você não estiver usando o Visual Studio, abra uma linha de comando e altere para o diretório do projeto. Execute o comando dotnet restore para restaurar suas novas dependências.

Usando o Gerenciador de Soluções do Visual Studio (VS2017)

Se você quiser usar o Gerenciador de Soluções, abra seu projeto no Visual Studio 2017 e pressione Ctrl+; para ativar a pesquisa no Gerenciador de Soluções. Pesquise cada um dos nomes de pacotes vulneráveis e anote os números de versão de todos os resultados encontrados.

Por exemplo, pesquisar Microsoft.AspNetCore.Mvc.Core em um projeto de exemplo que contém um pacote que usa uma dependência de Microsoft.AspNetCore.Mvc mostra os seguintes resultados no Visual Studio 2017.

Figura 3: Pesquisando referências no Visual Studio 2017

Os resultados da pesquisa aparecem como uma árvore. Nesses resultados, você pode ver que encontramos referências a Microsoft.AspNetCore.Mvc.Core versão 1.1.2.

No nó Dependências estará um nó NuGet. No nó NuGet estará a lista de pacotes dos quais você tirou diretamente uma dependência e suas versões. Neste exemplo, o aplicativo usa uma dependência direta de Microsoft.AspNetCore.Mvc. Microsoft.AspNetCore.Mvc, por sua vez, tem nós folha que listam suas dependências e suas versões. No exemplo, o pacote Microsoft.AspNetCore.Mvc usa uma dependência de uma versão do Microsoft.AspNetCore.Mvc.ApiExplorer, que, por sua vez, assume uma dependência de uma versão vulnerável do Microsoft.AspNetCore.Mvc.Core.

Revisão manual project.assets.json (VS2017)

Abra o arquivo project.assets.json do diretório obj do seu projeto no editor. Sugerimos que você use um editor que entenda json e permita que você recolha e expanda nós para revisar este arquivo; o Visual Studio e o Visual Studio Code fornecem essa funcionalidade.

Pesquise no arquivo project.assets.json cada um dos nomes de pacotes na tabela de pacotes vulneráveis, seguido de um /. Por exemplo, procurar Microsoft.AspNetCore.Mvc implicaria usar uma sequência de pesquisa de "Microsoft.AspNetCore.Mvc/". Se o arquivo project.assets.json incluir essa cadeia de caracteres e o número completo da versão (o número após o / em qualquer pesquisa acertar) corresponder a uma das versões vulneráveis listadas anteriormente, você terá uma dependência do pacote vulnerável.

Corrigindo dependências transitivas (csproj/VS2017)

Se você não encontrou nenhuma referência a nenhum pacote vulnerável, isso significa que nenhuma de suas dependências diretas depende de nenhum pacote vulnerável ou você já corrigiu o problema atualizando as dependências diretas.

Se sua revisão de dependência transitiva encontrou referências a qualquer um dos pacotes vulneráveis, você deve adicionar uma dependência direta ao pacote atualizado ao arquivo csproj para substituir a dependência transitiva. Abra o arquivo projectname.csproj no editor ou clique com o botão direito do mouse no projeto no Visual Studio 2017 e escolha Editar projectname.csproj no menu de conteúdo, onde projectname é o nome do seu projeto. Procure nós PackageReference, por exemplo:


    <project sdk="Microsoft.NET.Sdk.Web">
<propertygroup>
<targetframework>netcoreapp1.1</targetframework>
</propertygroup>
<propertygroup>
<packagetargetfallback>$(PackageTargetFallback);portable-net45+win8+wp8+wpa81;</packagetargetfallback>
</propertygroup>
<itemgroup>
<packagereference include="Microsoft.AspNetCore" version="1.1.1">
</packagereference><packagereference include="Microsoft.AspNetCore.Mvc" version="1.1.3">
</packagereference></itemgroup>
<itemgroup>
<dotnetclitoolreference include="Microsoft.VisualStudio.Web.CodeGeneration.Tools" version="1.0.0">
</dotnetclitoolreference></itemgroup>
</project>

Para cada um dos pacotes vulneráveis retornados pela pesquisa, você deve adicionar uma dependência direta à versão atualizada adicionando-a ao arquivo csproj. Para fazer isso, adicione uma nova linha à seção dependências, fazendo referência à versão corrigida. Por exemplo, se sua pesquisa mostrasse uma referência transitiva ao System.Net.Security versão 4.3.0 vulnerável, você adicionaria uma referência à versão fixa apropriada, 4.3.1.


    <project sdk="Microsoft.NET.Sdk.Web">
<propertygroup>
<targetframework>netcoreapp1.1</targetframework>
</propertygroup>
<propertygroup>
<packagetargetfallback>$(PackageTargetFallback);portable-net45+win8+wp8+wpa81;</packagetargetfallback>
</propertygroup>
<itemgroup>
<packagereference include="System.Net.Security" version="4.3.1">
</packagereference><packagereference include="Microsoft.AspNetCore" version="1.1.1">
</packagereference><packagereference include="Microsoft.AspNetCore.Mvc" version="1.1.3">
</packagereference></itemgroup>
<itemgroup>
<dotnetclitoolreference include="Microsoft.VisualStudio.Web.CodeGeneration.Tools" version="1.0.0">
</dotnetclitoolreference></itemgroup>

Depois de adicionar a referência de dependência direta, salve o arquivo csproj.

Se você estiver usando o Visual Studio, salve o arquivo csproj atualizado e o Visual Studio restaurará as novas versões do pacote. Você pode ver os resultados da restauração abrindo a Janela de Saída (Ctrl+Alt+O) e alterando a lista suspensa Mostrar saída de para Gerenciador de Pacotes.

Se você não estiver usando o Visual Studio, abra uma linha de comando e altere para o diretório do projeto. Execute o comando dotnet restore para restaurar suas novas dependências.

Recriando seu aplicativo

Finalmente, recrie seu aplicativo, teste como faria normalmente e reimplante usando seu mecanismo de implantação favorito.

Outras Informações

Relatar problemas de segurança

  • Se você encontrou um possível problema de segurança no .NET Core, envie os detalhes por e-mail para . Os relatórios podem se qualificar para o .NET Core Bug Bounty. Os detalhes do .NET Core Bug Bounty, incluindo os Termos e Condições, estão em https:.

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 a partir de provedores de software de segurança, visite os sites de proteções ativas fornecidos por parceiros do programa, listados em Parceiros do Microsoft Active Protections Program (MAPP).

Feedback

Suporte

  • Você pode fazer perguntas sobre esse problema no GitHub nas organizações .NET Core ou ASP.NET Core. Eles estão localizados em </https:>https: e </https:>https:. O repositório Comunicados para cada produto (https://github.com/dotnet/Announcements e https://github.com/aspnet/Announcements) conterá este comunicado como um problema e incluirá um link para um problema de discussão onde você poderá fazer perguntas.
  • Os clientes nos Estados Unidos e no Canadá podem receber suporte técnico do Suporte de Segurança. Para obter mais informações, consulte Ajuda e Suporte da Microsoft.
  • Os clientes internacionais podem receber suporte de suas subsidiárias locais da Microsoft. Para obter mais informações, consulte Suporte internacional. * O Microsoft TechNet Security fornece informações adicionais sobre segurança em produtos Microsoft.

Agradecimentos

A Microsoft agradece o seguinte por trabalhar conosco para ajudar a proteger os clientes:

  • David Fernandez, da Sidertia Solutions , por relatar a vulnerabilidade de negação de serviço do núcleo ASP.NET (CVE-2017-0247)
  • Mikhail Shcherbakov por relatar a vulnerabilidade de falsificação do núcleo do ASP.NET (CVE-2017-0256)

Aviso de isenção de responsabilidade

As informações fornecidas neste comunicado são fornecidas "no estado em que se encontram", sem garantia de qualquer tipo. A Microsoft se isenta de todas as garantias, expressas ou implícitas, incluindo as garantias de comercialização e adequação a 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 (9 de maio de 2017): Comunicado publicado.
  • V1.1 (10 de maio de 2017): Comunicado revisado para incluir uma tabela de CVEs de problema e suas descrições. Esta é apenas uma alteração informativa.

Página gerada em 10/05/2017 13:08-07:00. </https:>