Comunicado de Segurança da Microsoft 4021279
Vulnerabilidades no .NET Core, ASP.NET Core podem permitir a 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. Este comunicado também fornece orientação sobre o que os desenvolvedores podem fazer para atualizar seus aplicativos corretamente.
.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 de nuvem. Esses produtos são desenvolvidos ativamente pela equipe .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.
Emitir 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égios |
CVE-2017-0256 | Spoofing |
Software afetado
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 de pacotes fixos |
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.Segurança | 4.0.0 4.3.0 | 4.0.1 4.3.1 |
System.Net.WebSockets.Cliente | 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.Abstrações | 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.DataAnotações | 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 |
FAQ Consultivo
Como 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 em qualquer um dos pacotes e versões listados anteriormente, você será afetado.
Nota
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 em 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 de projeto .NET Core
O .NET Core tem dois formatos de arquivo de projeto diferentes, dependendo do software que criou o projeto.
- project.json é o formato original, incluído no .NET Core 1.0 e no Microsoft Visual Studio 2015.
- 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 seu projeto, então você assumiu uma dependência direta de Microsoft.AspNetCore.Mvc.
As dependências diretas podem ser detetadas revisando o arquivo project.json ou csproj.
Dependências transitivas
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 em Microsoft.AspNetCore.Mvc e uma dependência transitiva no 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 autorizada 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 ambas as dependências diretas e revisar e corrigir quaisquer dependências transitivas. Os pacotes e versões afetados na seção anterior "Software afetado" 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 fixas.
Corrigindo dependências diretas - project.json/VS2015
Abra o arquivo project.json no editor. Procure a seção 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 não relacionados à 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 em 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 exemplo project.json 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 ter abordado 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 Edit projectname.csproj no menu de conteúdo, onde projectname é o nome do seu 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 diretas do pacote, 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 em 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 seria atualizar Microsoft.AspNetCore.Mvc para 1.1.3.
Depois de atualizar a versão vulnerável do pacote, salve seu arquivo csproj.
O exemplo csproj agora seria o seguinte:
<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 seu 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 de 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 para o pacote esperado para ser a versão esperada atualizando seu csproj ou project.json da mesma maneira que você usou para atualizar as versões vulneráveis do pacote.
Depois de ter abordado todas as suas dependências diretas, você também deve revisar suas dependências transitivas.
Revisão de dependências transitivas
Há duas maneiras de visualizar dependências transitivas. Você pode usar o Gerenciador de Soluções do Visual Studio ou 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 quaisquer 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. Isto 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ê dependeu diretamente. Neste exemplo, o aplicativo depende 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 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.
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ções 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: Local do arquivo project.lock.json
Procure no ficheiro de 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 seu arquivo project.json para substituir a dependência transitiva. Abra o project.json e localize a seção 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 de dependências, referindo-se à versão corrigida. Por exemplo, se sua pesquisa mostrasse uma referência transitiva à vulnerável System.Net.Security versão 4.0.0, 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 seu 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 quaisquer resultados encontrados.
Por exemplo, pesquisar Microsoft.AspNetCore.Mvc.Core em um projeto de exemplo que contém um pacote que depende 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.
Sob o nó Dependências haverá um nó NuGet. No nó NuGet estará a lista de pacotes dos quais você dependeu diretamente e suas versões. Neste exemplo, o aplicativo tem 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 depende de uma versão do Microsoft.AspNetCore.Mvc.ApiExplorer que, por sua vez, depende 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 por um /. Por exemplo, procurar Microsoft.AspNetCore.Mvc implicaria usar uma cadeia de pesquisa de "Microsoft.AspNetCore.Mvc/". Se o seu arquivo project.assets.json incluir essa cadeia de caracteres e o número da versão completa (o número após o / em qualquer pesquisa acertada) 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 seu 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 Edit 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 de dependências, referindo-se à versão corrigida. Por exemplo, se a sua pesquisa mostrasse uma referência transitiva à vulnerável System.Net.Security versão 4.3.0, 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 seu 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.
Reconstruindo seu aplicativo
Por fim, reconstrua seu aplicativo, teste como faria normalmente e reimplante usando seu mecanismo de implantação favorito.
Outras informações
Comunicar Problemas de Segurança
- Se você encontrou um possível problema de segurança no .NET Core, envie 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 Microsoft Ative Protections (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 de atualização de segurança. Os fornecedores de software de segurança podem então utilizar estas informações de vulnerabilidade para fornecer proteções atualizadas aos clientes através do seu software ou dispositivos de segurança, tais como antivírus, sistemas de deteção de intrusões baseados na rede ou sistemas de prevenção de intrusões baseados em anfitrião. Para determinar se as proteções ativas estão disponíveis nos provedores de software de segurança, visite os sites de proteções ativas fornecidos por parceiros do programa, listados em Parceiros do Microsoft Ative Protections Program (MAPP).
Comentários
- Você pode fornecer comentários preenchendo o formulário de Ajuda e Suporte da Microsoft, Atendimento ao Cliente Fale Conosco.
Suporte
- Você pode fazer perguntas sobre esse problema no GitHub nas organizações .NET Core ou ASP.NET Core. Estes estão localizados em </https:>https: e </https:>https:. O repositório de anúncios para cada produto (https://github.com/dotnet/Announcements e https://github.com/aspnet/Announcements) conterá este aviso como um problema e incluirá um link para um problema de discussão onde você pode fazer perguntas.
- Os clientes nos Estados Unidos e Canadá podem receber suporte técnico do Suporte de Segurança. Para obter mais informações, consulte a 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. * 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 ASP.NET Core (CVE-2017-0247)
- Mikhail Shcherbakov , por relatar a Vulnerabilidade de falsificação de núcleo ASP.NET (CVE-2017-0256)
Exclusã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 emissão e suas descrições. Esta é apenas uma alteração informativa.
Página gerada em 2017-05-10 13:08-07:00. </https:>