Comunicado de Segurança da Microsoft 4021279

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

Publicado em: 9 de maio de 2017

Versão: 1.0

Resumo executivo

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

O .NET Core e o ASP.NET Core são a próxima geração do .NET e fornecem uma estrutura moderna e familiar para cenários na Web e na nuvem. Esses produtos são ativamente desenvolvido pela equipe do .NET e do ASP.NET em colaboração com a comunidade de desenvolvedores de software livre, em execução nos sistemas operacionais Windows, Mac OS X e Linux. Quando o .NET Core foi lançado, seu número de versão foi redefinido para 1.0.0, para refletir o fato de que se trata de um produto separado do seu antecessor, o .NET.

Softwares afetados

As vulnerabilidades afetarão qualquer projeto do Microsoft .NET Core se este usar as seguintes versões de pacote afetadas.

Pacote e versão afetados

Nome do pacote

Versões de pacote

Versões de pacote corrigidas

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 do comunicado

Como eu sei 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 por qualquer um dos pacotes e versões listados acima, então você está afetado.

Observação

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

Formatos de Projeto do .NET Core

O .NET Core tem dois formatos de arquivo de projeto diferentes, dependendo de qual software 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.

Certifique-se de seguir as instruções de atualização corretas para o seu tipo de projeto.

Dependências diretas

Dependências diretas são dependências nas quais você adiciona especificamente um pacote ao seu projeto. Por exemplo, se você adicionar o pacote Microsoft.AspNetCore.Mvc ao projeto, terá uma dependência direta com Microsoft.AspNetCore.Mvc.

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

Dependências transitivas

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

Dependências transitivas são analisáveis na janela Gerenciador de Soluções do Visual Studio, que oferece suporte para pesquisa, ou por meio de uma análise do arquivo project.lock.json, contido no diretório raiz do seu projeto, em busca de projetos project.json ou do arquivo project.assets.json, contido no diretório obj do seu projeto, em busca de projetos csproj. Esses arquivos são a lista oficial de todos os pacotes usados pelo seu projeto, contendo tanto dependências diretas quanto transitivas.

Como corrigir o aplicativo afetado?

Você precisará corrigir as dependências diretas e examinar e corrigir quaisquer dependências transitivas. Os pacotes e versões afetados acima devem cada pacote vulnerável, as versões vulneráveis e as versões com patch aplicado.

Se você estiver usando o MVC do ASP.NET Core nos seus projetos, primeiro deverá atualizar a versão de Microsoft.AspNetCore.Mvc de acordo com a tabela de versões afetadas acima. Se você estiver usando a versão 1.0.0, 1.0.1, 1.0.2 ou 1.0.3, deverá atualizar a versão do seu pacote para 1.0.4. Se você estiver usando a versão 1.1.0, 1.1.1 ou 1.1.2, deverá atualizar sua versão de 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 seu editor. Procure a seção dependencies. Veja a seguir 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 dos destinos do aplicativo e deve ser ignorado. Os outros pacotes expõem sua versão à direita do nome do pacote. No nosso exemplo, os pacotes que não são da plataforma são a versão 1.0.1.

Reveja suas dependências diretas em busca de qualquer instância dos pacotes e versões listados acima. No exemplo acima, há uma dependência direta por um dos pacotes vulneráveis, Microsoft.AspNetCore.Mvc versão 1.0.1.

Para atualizar para o pacote corrigido, altere o número da versão para o pacote apropriado à sua versão. No exemplo, isso significaria atualizar Microsoft.AspNetCore.Mvc para 1.0.4.

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

A seção dependencies no arquivo de exemplo project.json agora teria esta 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 o arquivo project.json atualizado, o Visual Studio restaurará a nova versão do pacote. Você pode ver o resultado 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 mude para o diretório do projeto. Execute o comando dotnet restore para restaurar a nova dependência.

Depois de ter abordado todas as suas dependências diretas, você também deverá rever suas dependências transitivas.

Corrigindo dependências diretas – csproj/VS2017

Abra seu arquivo projectname.csproj no editor ou clique no projeto com o botão direito no Visual Studio 2017 e escolha Editar projectname.csproj no menu de conteúdo, em que projectname é o nome do seu projeto. Procure nós PackageReference. Veja a seguir um exemplo de arquivo de projeto:

  <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 Include="Microsoft.AspNetCore.Mvc" Version="1.1.2" />
    </ItemGroup>
    <ItemGroup>
      <DotNetCliToolReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Tools" Version="1.0.0 " />
    </ItemGroup>
  </Project>

O exemplo tem duas dependências de pacote diretas, conforme visto pelos dois elementos PackageReference. O nome do pacote está no atributo Include, enquanto o número de versão do pacote esta no atributo Version, que está 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.

Reveja os elementos PackageReference em busca de qualquer instância dos pacotes e das versões listados acima. No exemplo acima, há uma dependência direta por um dos pacotes vulneráveis, Microsoft.AspNetCore.Mvc versão 1.1.2.

Para atualizar para o pacote corrigido, altere o número de versão para o pacote apropriado à sua versão. No exemplo, isso significaria atualizar Microsoft.AspNetCore.Mvc para 1.1.3.

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

O exemplo de csproj passa a ter 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 Include="Microsoft.AspNetCore.Mvc.Core" Version="1.1.3" />
    </ItemGroup>
    <ItemGroup>
      <DotNetCliToolReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Tools" Version="1.0.0 " />
    </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 o resultado 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 não estiver usando o Visual Studio, abra uma linha de comando e mude para o diretório do projeto. Execute o comando dotnet restore para restaurar a nova dependência.

Recompile o aplicativo.

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

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

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

Depois de ter abordado todas as suas dependências diretas, você também deverá rever suas dependências transitivas.

Examinando dependências transitivas

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

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

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

Por exemplo, procurar 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 são mostrados como uma árvore. Nesses resultados, é possível 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 o aplicativo está usando. Ela será .NETCoreApp, .NETStandard ou .NET Framework--vX.Y.Z (em que X.Y.Z é um número de versão real), dependendo de como você configurou o aplicativo. Abaixo da estrutura de destino, é exibida a lista de pacotes pelos quais você adquiriu diretamente uma dependência. Neste exemplo, o aplicativo tem uma dependência por Microsoft.AspNetCore.Mvc. Por sua vez, Microsoft.AspNetCore.Mvc tem nós folha que listam suas dependências e versões. Neste caso, o pacote Microsoft.AspNetCore.Mvc adquire uma dependência por uma versão vulnerável de Microsoft.AspNetCore.Mvc.Core e vários outros pacotes.

Analisando manualmente project.lock.json (project.json/VS2015)

Abra o arquivo project.lock.json no seu editor. Sugerimos que você use um editor que compreenda json e que permita recolher e expandir nós para analisar esse arquivo; tanto o Visual Studio quanto o Visual Studio Code fornecem essa funcionalidade.

Se você estiver usando Visual Studio, o arquivo project.lock.json estará "sob" o arquivo project.json. Clique no triângulo que aponta para a direita, ▷, à esquerda do arquivo project.json, para expandir a árvore de solução e 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: localização do arquivo project.lock.json

Procure a cadeia de caracteres “Microsoft.AspNetCore.Mvc.Core/1.1.0” no arquivo project.lock.json. Se o arquivo project.lock.json incluir essa cadeia de caracteres, significa você tem uma dependência pelo pacote vulnerável.

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

Se você não encontrou uma referência a pacotes vulneráveis, significa que nenhuma das suas dependências diretas está subordinada a pacotes vulneráveis ou que você já corrigiu o problema por meio da atualização das dependências diretas.

Se a análise das suas dependências transitivas encontrou referências aos pacotes vulneráveis, você deverá incluir no seu arquivo project.json uma dependência direta ao pacote atualizado, para substituir a dependência transitiva. Abra o arquivo project.json e localize a seção dependencies. 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 sua pesquisa, você deve adicionar uma dependência direta à versão atualizada, adicionando-a ao arquivo project.json. Para fazer isso, adicione à seção dependencies uma nova linha que faça referência à versão corrigida. Por exemplo, se a pesquisa mostrasse uma referência intransitiva à versão 4.0.0 vulnerável de System.Net.Security, você adicionaria uma referência à versão corrigida 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 ter adicionado dependências diretas aos pacotes corrigidos, salve o arquivo project.json.

Se estiver usando o Visual Studio, salve o arquivo project.json atualizado, e o Visual Studio restaurará as novas versões dos pacotes. Você pode ver o resultado 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 não estiver usando o Visual Studio, abra uma linha de comando e mude 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 quiser usar o Gerenciador de Soluções, abra o projeto no Visual Studio 2017 e pressione Ctrl+; para ativar a pesquisa no Gerenciador de Soluções. Procure cada um dos nomes dos pacotes vulneráveis e anote os números de versão de qualquer resultado que você encontrar.

Por exemplo, se você procurar Microsoft.AspNetCore.Mvc.Core em um projeto de exemplo que contém um pacote que adquire dependência por Microsoft.AspNetCore.Mvc, os seguintes resultados serão exibidos no Visual Studio 2017.

Figura 3: Pesquisando referências no Visual Studio 2017

Os resultados da pesquisa são mostrados como uma árvore. Nesses resultados, é possível ver que encontramos referências a Microsoft.AspNetCore.Mvc.Core, versão 1.1.2.

Abaixo do nó Dependências, haverá um nó NuGet. Abaixo do nó NuGet, haverá uma lista de pacotes pelos quais você adquiriu diretamente uma dependência, juntamente com suas versões. Neste exemplo, o aplicativo tem uma dependência direta por Microsoft.AspNetCore.Mvc. Por sua vez, Microsoft.AspNetCore.Mvc tem nós folha que listam suas dependências e versões. No exemplo, o pacote Microsoft.AspNetCore.Mvc adquire uma dependência por uma versão de Microsoft.AspNetCore.Mvc.ApiExplorer, que, por sua vez, adquire uma dependência por uma versão vulnerável de Microsoft.AspNetCore.Mvc.Core.

Analisando manualmente project.assets.json (VS2017)

Abra o arquivo project.assets.json, localizado no diretório obj do seu projeto, no seu editor. Sugerimos que você use um editor que compreenda json e que permita recolher e expandir nós para analisar esse arquivo; tanto o Visual Studio quanto o Visual Studio Code fornecem essa funcionalidade.

Pesquise o arquivo project.assets.json em busca de cada um dos nomes de pacotes na tabela de pacotes vulneráveis, seguidos por /. Por exemplo, procurar Microsoft.AspNetCore.Mvc implicaria o uso de uma cadeia de caracteres de pesquisa “Microsoft.AspNetCore.Mvc/”. Se o seu arquivo project.assets.json incluir essa cadeia de caracteres, e o número de versão completo (o número depois de / em qualquer ocorrência de pesquisa) corresponder a uma das versões vulneráveis listadas acima, significa que você tem uma dependência pelo pacote vulnerável.

Corrigindo dependências transitivas (csproj/VS2017)

Se você não encontrou uma referência a pacotes vulneráveis, significa que nenhuma das suas dependências diretas está subordinada a pacotes vulneráveis ou que você já corrigiu o problema por meio da atualização das dependências diretas.

Se a análise das suas dependências transitivas encontrou referências aos pacotes vulneráveis, você deverá incluir no seu arquivo csproj uma dependência direta ao pacote atualizado, para substituir a dependência transitiva. Abra seu arquivo projectname.csproj no editor ou clique no projeto com o botão direito no Visual Studio 2017 e escolha Editar projectname.csproj no menu de conteúdo, em que 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 Include="Microsoft.AspNetCore.Mvc" Version="1.1.3" />
    </ItemGroup>
    <ItemGroup>
      <DotNetCliToolReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Tools" Version="1.0.0" />
    </ItemGroup>
  </Project>

Para cada um dos pacotes vulneráveis retornados pela sua pesquisa, você deve adicionar uma dependência direta à versão atualizada, adicionando-a ao arquivo project.json. Para fazer isso, adicione à seção dependencies uma nova linha que faça referência à versão corrigida. Por exemplo, se a pesquisa mostrasse uma referência intransitiva à versão 4.3.0 vulnerável de System.Net.Security, você adicionaria uma referência à versão corrigida 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 Include="Microsoft.AspNetCore" Version="1.1.1" />
      <PackageReference Include="Microsoft.AspNetCore.Mvc" Version="1.1.3" />
    </ItemGroup>
    <ItemGroup>
      <DotNetCliToolReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Tools" Version="1.0.0" />
    </ItemGroup>

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

Se estiver usando o Visual Studio, salve o arquivo csproj atualizado, e o Visual Studio restaurará as novas versões dos pacotes. Você pode ver o resultado 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 mude para o diretório do projeto. Execute o comando dotnet restore para restaurar suas novas dependências.

Recompilando seu aplicativo

Por último, recompile o aplicativo, teste-o como faria normalmente e reimplante-o usando seu mecanismo de implantação favorito.

Outras informações

Comunicando problemas de segurança

  • Se você encontrou um possível problema de segurança no .NET Core, envie um email com os detalhes para secure@microsoft.com. Os problemas comunicados podem se qualificar para o .NET Core Bug Bounty. Detalhes sobre o .NET Core Bug Bounty, incluindo os Termos e Condições, estão disponíveis em https://aka.ms/corebounty.

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 com base em rede ou sistemas de prevenção de invasões com base 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).

Comentários

Suporte

  • Você pode fazer perguntas sobre esse problema no GitHub, nas organizações .NET Core ou ASP.NET Core. Elas estão localizadas em https://github.com/dotnet/ e https://github.com/aspnet/. O repositório Announcements de cada produto (https://github.com/dotnet/Announcements e https://github.com/aspnet/Announcements) conterá este boletim como um tema e incluirá um link para um tema de discussão no qual você pode fazer perguntas.
  • Os clientes nos EUA 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 de outros países podem obter suporte nas 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.

Aviso de isenção de responsabilidade

As informações oferecidas neste documento são fornecidas "como estão" sem garantia de nenhum 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 (9 de maio de 2017): Comunicado publicado.

Página gerada em 05/05/2017 11:00-07:00.