マイクロソフト セキュリティ アドバイザリ 4021279

.NET Core、ASP.NET Core の脆弱性により、特権が昇格される

公開日: 2017 年 5 月 10 日

バージョン: 1.0

概要

マイクロソフトは、公開された .NET Core および ASP.NET Core の脆弱性に関する情報を提供するために、このセキュリティ アドバイザリをリリースします。このアドバイザリでは、開発者がアプリケーションを確実に正しく更新するために役立つガイダンスも提供します。

.NET Core と ASP.NET Core は、Web およびクラウド シナリオのためのモダンで使いやすいフレームワークを提供する .NET の次世代のテクノロジです。これらの製品はオープン ソース開発者のコミュニティとの協力のもと .NET および ASP.NET のチームにより活発に開発されており、Windows、Mac OS X および Linux 上で動作します。.NET Core がリリースされた際、その前身である .NET とは別な製品であることを反映するためにバージョン番号が 1.0.0 にリセットされました。

影響を受けるソフトウェア

Microsoft .NET Core プロジェクトが、次の表に示されている影響を受けるパッケージのバージョンを使用している場合に、この脆弱性の影響を受けます。

影響を受けるパッケージとバージョン

パッケージ名

パッケージのバージョン

修正済みのパッケージ バージョン

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

アドバイザリの「よく寄せられる質問」

影響を受けたことを確認する方法を教えてください。
NET Core と ASP.NET Coreには、直接的と推移的という 2 つの異なる依存関係があります。プロジェクトに、上記の表にリストされているパッケージおよびバージョンのいずれかと直接的または推移的な依存関係がある場合、影響を受ける可能性があります。

Mt808804.note(ja-JP,Security.10).gif注:
ASP.NET Core MVC への修正適用の一環として、すべての Microsoft.AspNetCore.Mvc.* パッケージを更新します。たとえば、Microsoft.AspNetCore.Mvc に依存している場合、最初に適切なバージョンに更新する必要があります (1.0.x であれば 1.0.4 に更新し、1.1.x であれば 1.1.3 に更新する必要があります)。バージョンを更新すると、脆弱性のあるその他の Microsoft.AspNetCore.Mvc の依存関係も更新されます。

.NET Core プロジェクトの形式

.NET Core には、プロジェクトを作成したソフトウェアの種類によって 2 つの異なるプロジェクト ファイル形式があります。

  1. project.json が元の形式で、.NET Core 1.0 と Microsof Visual Studio 2015 に含まれています。
  2. csproj は Microsof Visual Studio 2017 で使用されている形式です。

プロジェクトの種類に合わせて、正しい更新の手順に従う必要があります。

直接的な依存関係

直接的な依存関係とは、プロジェクトにパッケージを追加した場合に生じる依存関係です。たとえば、Microsoft.AspNetCore.Mvc パッケージをプロジェクトに追加すると、Microsoft.AspNetCore.Mvc との直接的な依存関係が生じます。

直接的な依存関係は、project.json ファイルまたは csproj ファイルで確認することができます。

推移的な依存関係

推移的な依存関係は、パッケージをプロジェクトに追加することで、別のパッケージに依存関係ができる時に生じます。たとえば、Microsoft.AspNetCore.Mvc パッケージをプロジェクトに追加すると、Microsoft.AspNetCore.Mvc.Core パッケージにも (特に) 依存することになります。その結果、プロジェクトは Microsoft.AspNetCore.Mvc に直接的に依存し、Microsoft.AspNetCore.Mvc.Core パッケージに推移的に依存します。

推移的な依存関係は、Microsoft Visual Studio のソリューション エクスプローラー ウィンドウ (検索が可能)、または project.json プロジェクトではプロジェクトのルート ディレクトリに含まれている project.lock.json ファイル、もしくは csproj プロジェクトではプロジェクトの obj ディレクトリに含まれている project.assets.json ファイルで確認できます。これらのファイルは、プロジェクトで使用されているすべてのパッケージの正式な一覧で、直接的および推移的な依存関係の両方が含まれています。

影響を受けたアプリケーションを修正する方法を教えてください

直接的な依存関係を修正すると同時に、推移的な依存関係の確認および修正をする必要があります。上記の「影響を受けるパッケージとバージョン」の表には、脆弱性のある各パッケージと、その脆弱性のあるバージョン、およびその修正プログラム適用済みバージョンがリストされています。

プロジェクトで ASP.NET Core MVC を使用している場合は、最初に、上記の「影響を受けるバージョン」の表に従って Microsoft.AspNetCore.Mvc のバージョンを更新する必要があります。現在使用しているバージョンが 1.0.0、1.0.1、1.0.2、または 1.0.3 であれば、パッケージのバージョンを 1.0.4 に更新する必要があります。使用しているバージョンが 1.1.0、1.1.1、または 1.1.2 であれば、パッケージのバージョンを 1.1.3 に更新する必要があります。こうすると、あらゆる MVC パッケージが修正済みのバージョンに更新されます。

直接的な依存関係の修正 - project.json/VS2015

任意のエディターで project.json ファイルを開きます。dependencies セクションを探します。セクションの例を次に示します。

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

この例では、Microsoft.NETCore.App、Microsoft.AspNetCore.Server.Kestrel、Microsoft.AspNetCore.Mvc の 3 つの直接的な依存関係があります。

Microsoft.NetCore.App は、アプリケーションに対して対象となるプラットフォームのため、無視してかまいません。それ以外のパッケージについては、パッケージ名の右側にバージョンが表示されています。この例では、プラットフォーム以外のパッケージのバージョンは 1.0.1 です。

上記の表にリストされているパッケージおよびバージョンとの直接的な依存関係をすべて確認します。上の例では、脆弱性のあるパッケージ Microsoft.AspNetCore.Mvc バージョン 1.0.1 に直接依存関係があります。

修正されたパッケージに更新するには、バージョン番号を、ご使用中のリリースに適したパッケージに変更します。この例では、Microsoft.AspNetCore.Mvc を 1.0.4 に更新します。

脆弱性のあるパッケージのバージョンを更新後、project.json ファイルを保存します。

この例の project.json ファイルの dependencies セクションは次のようになります。

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

Visual Studio を使用している場合、更新した project.json ファイルを保存すると、Visual Studio で新しいパッケージのバージョンを復元します。復元の結果を確認するには、[出力] 画面を開き (Ctrl + Alt + O キー)、ドロップダウン リストの [出力元の表示][パッケージ マネージャー] に変更します。

Visual Studio を使用していない場合は、コマンド ラインを開き、プロジェクト ディレクトリに変更します。dotnet restore コマンドを実行して、新しい依存関係を復元します。

すべての直接的な依存関係に対応後、推移的な依存関係を確認します。

直接的な依存関係の修正 - csproj/VS2017

任意のエディターで projectname.csproj ファイルを開くか、Visual Studio 2017 でプロジェクトを選択して右クリックし、コンテンツ メニューから [編集 projectname.csproj] を選択します。ここで projectname とは、使用中のプロジェクト名を指します。PackageReference ノードを探します。以下にプロジェクト ファイルの例を示します。

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

この例では、PackageReference 要素が 2 つあることから、2 つの直接的なパッケージの依存関係があることが分かります。パッケージ名は Include 属性に含まれており、パッケージのバージョン番号はパッケージ名の右側に表示されている Version 属性に含まれています。この例では、Microsoft.AspNetCore バージョン 1.1.1 と Microsoft.AspNetCore.Mvc.Core バージョン 1.1.2 という 2 つのパッケージです。

上記の一覧にあるパッケージおよびバージョンのすべてについて PackageReference 要素を確認します。この例では、脆弱性のあるパッケージ Microsoft.AspNetCore.Mvc バージョン 1.1.2 に直接依存関係があります。

修正されたパッケージに更新するには、バージョン番号を、ご使用中のリリースに適したパッケージに変更します。この例では、Microsoft.AspNetCore.Mvc.Core を 1.1.3 に更新します。

脆弱性のあるパッケージを更新した後、csproj ファイルを保存します。

この例の csproj は次のようになります。

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

Visual Studio を使用している場合、更新した csproj ファイルを保存すると、Visual Studio で新しいパッケージのバージョンを復元します。復元の結果を確認するには、[出力] 画面を開き (Ctrl + Alt + O キー)、ドロップダウン リストの [出力元の表示][パッケージ マネージャー] に変更します。

Visual Studio を使用していない場合は、コマンド ラインを開き、プロジェクト ディレクトリに変更します。dotnet restore コマンドを実行して、新しい依存関係を復元します。

アプリケーションを再コンパイルします。

再コンパイル後に依存関係の競合を示す警告が表示された場合は、他の直接的な依存関係を適切なバージョンに更新する必要があります。たとえば、プロジェクトでバージョン番号が 1.0.1 の Microsoft.AspNetCore.Routing を参照している場合、Microsoft.AspNetCore.Mvc パッケージを 1.0.4 に更新すると、コンパイル時に次のエラーが発生します。

NU1012 Dependency conflict.Microsoft.AspNetCore.Mvc.Core 1.0.4 expected Microsoft.AspNetCore.Routing >= 1.0.4 but received 1.0.1

これを修正するには、脆弱性のあるパッケージのバージョンを更新する際に使用したのと同じ方法で csproj または project.json を更新することによって、予期されたパッケージのバージョンを、予期されたバージョンになるように編集します。

すべての直接的な依存関係に対応後、推移的な依存関係を確認します。

推移的な依存関係の確認

推移的な依存関係を確認する方法は 2 つあります。1 つは Visual Studio のソリューション エクスプローラーを使用する方法で、もう 1 つは project.lock.json (project.json/VS2015) ファイル または project.assets.json (csproj/VS2017) ファイルを確認する方法です。

Visual Studio のソリューション エクスプローラーの使用 (VS2015)

Visual Studio 2015 を使用する場合は、Visual Studio 2015 でプロジェクトを開き、Ctrl + ; キーを押して、ソリューション エクスプローラーの検索を有効にします。脆弱性のあるパッケージの名前をそれぞれ検索し、見つけた結果からバージョン番号を書き留めます。

たとえば、Microsoft.AspNetCore.Mvc を参照しているサンプル プロジェクトで Microsoft.AspNetCore.Mvc.Core を検索すると、Visual Studio 2015 では次の図に示す結果が表示されます。

Mt808804.948623F12A9577D9AC6FF8F5CA46F8CA(ja-JP,Security.10).png

図 1: Visual Studio 2015 での検索

検索結果はツリー形式で表示されます。この結果には、Microsoft.AspNetCore.Mvc の脆弱性のあるバージョンである 1.0.1 への参照設定が示されています。

[参照設定] 見出しの下の最初のエントリは、アプリケーションで使用している対象のフレームワークを指しています。これは、アプリケーションの構成方法に応じて、.NETCoreApp、.NETStandard、または .NET-Framework-vX.Y.Z (X.Y.Z は実際のバージョン番号です) になります。対象のフレームワークの下に、直接的に依存しているパッケージの一覧が表示されます。この例では、アプリケーションは Microsoft.AspNetCore.Mvc に依存しています。さらに、Microsoft.AspNetCore.Mvc にはリーフ ノードがあり、リーフ ノードにはその依存関係とバージョンの一覧が表示されます。この例では、Microsoft.AspNetCore.Mvc パッケージは Microsoft.AspNetCore.Mvc.Core の脆弱性のあるバージョンなどに依存しています。

project.lock.json の手動での確認 (project.json/VS2015)

任意のエディターで project.lock.json ファイルを開きます。このファイルを確認する場合は、json を認識し、ノードを展開または折りたたむことができるエディターを使用することをお勧めします。Visual Studio と Visual Studio Code はどちらもこの機能を備えています。

Visual Studio を使用している場合、project.lock.json ファイルは project.json ファイルの "下" にあります。project.json ファイルの左側にある右向きの三角形 ▷ をクリックして、ソリューション ツリーを展開すると、project.lock.json ファイルが表示されます。次の図に示されているプロジェクトでは、project.json ファイルが展開され、project.lock.json ファイルが表示されています。

Mt808804.10871F6DAB46208F3A20B4D79DC43612(ja-JP,Security.10).png

図 2: project.lock.json ファイルの場所

project.lock.json ファイルの中で、"Microsoft.AspNetCore.Mvc.Core/1.1.0" という文字列を検索します。project.lock.json ファイルにこの文字列が含まれている場合、脆弱性のあるパッケージに依存しています。

推移的な依存関係の修正 (project.json/VS2015)

脆弱性のあるパッケージへの参照が見つからなかった場合、脆弱性のあるパッケージに依存している直接的な依存関係が存在しないか、直接的な依存関係を更新することによって既に問題が修正されています。

推移的な依存関係の確認で脆弱性のあるパッケージへの参照が見つかった場合、更新されたパッケージへの直接的な依存関係を project.json ファイルに追加して、推移的な依存関係を上書きする必要があります。project.json ファイルを開き、dependencies セクションを探します。以下に例を示します。

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

検索で返された脆弱性のあるパッケージそれぞれについて、更新されたバージョンへの直接的な依存関係を、project.json ファイルに追加することによって追加する必要があります。そのためには、修正済みのバージョンを参照する新しい行を dependencies セクションに追加します。たとえば、検索によって、脆弱性のある System.Net.Security バージョン 4.0.0 への推移的な参照が示された場合は、適切な修正済みのバージョンである 4.0.1 への参照を追加します。project.json ファイルを次のように編集します。

  "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"
  }

修正済みのバージョンへの直接的な依存関係を追加したら、project.json ファイルを保存します。

Visual Studio を使用している場合、更新した project.json ファイルを保存すると、Visual Studio で新しいパッケージのバージョンを復元します。復元の結果を確認するには、[出力] 画面を開き (Ctrl + Alt + O キー)、ドロップダウン リストの [出力元の表示][パッケージ マネージャー] に変更します。

Visual Studio を使用していない場合は、コマンド ラインを開き、プロジェクト ディレクトリに変更します。dotnet restore コマンドを実行して、新しい依存関係を復元します。

Visual Studio のソリューション エクスプローラーの使用 (VS2017)

ソリューション エクスプローラーを使用する場合は、Visual Studio 2017 でプロジェクトを開き、Ctrl + ; キーを押して、ソリューション エクスプローラーの検索を有効にします。脆弱性のあるパッケージの名前をそれぞれ検索し、見つけた結果からバージョン番号を書き留めます。

たとえば、Microsoft.AspNetCore.Mvc に依存しているパッケージが含まれているサンプル プロジェクトで Microsoft.AspNetCore.Mvc.Core を検索すると、Visual Studio 2017 では次の図に示す結果が表示されます。

Mt808804.CF4A614A1C2C51FE9505E3379A83E8D6(ja-JP,Security.10).png

図 3: Visual Studio 2017 での検索

検索結果はツリー形式で表示されます。結果には、Microsoft.AspNetCore.Mvc.Core バージョン 1.1.2 への参照設定が示されています。

Dependencies ノードの下には NuGet ノードがあります。NuGet ノードの下には、直接的に依存しているパッケージの一覧とそのバージョンが表示されます。この例では、アプリケーションは Microsoft.AspNetCore.Mvc に直接的に依存しています。さらに、Microsoft.AspNetCore.Mvc にはリーフ ノードがあり、リーフ ノードにはその依存関係とバージョンの一覧が表示されます。この例では、 Microsoft.AspNetCore.Mvc パッケージは Microsoft.AspNetCore.Mvc.ApiExplorer のあるバージョンに依存し、さらにそれは脆弱性のあるバージョンの Microsoft.AspNetCore.Mvc.Core に依存しています。

project.assets.json の手動での確認 (VS2017)

任意のエディターで、プロジェクトの obj ディレクトリにある project.assets.json ファイルを開きます。このファイルを確認する場合は、json を認識し、ノードを展開または折りたたむことができるエディターを使用することをお勧めします。Visual Studio と Visual Studio Code はどちらもこの機能を備えています。

脆弱性のあるパッケージの表にあるパッケージ名が project.assets.json ファイルに含まれていないか、それぞれのパッケージ名の後ろに / を付けて検索します。たとえば、Microsoft.AspNetCore.Mvc を検索する場合は、「Microsoft.AspNetCore.Mvc/」という検索文字列を使用します。project.assets.json ファイルにこの文字列が含まれており、かつ完全なバージョン番号 (検索でヒットした文字列内の / に続く番号) が、上記にリストされた脆弱性のあるバージョンのいずれかと一致している場合、その脆弱性のあるパッケージに依存しています。

推移的な依存関係の修正 (csproj/VS2017)

脆弱性のあるパッケージへの参照が見つからなかった場合、脆弱性のあるパッケージに依存している直接的な依存関係が存在しないか、直接的な依存関係を更新することによって既に問題が修正されています。

推移的な依存関係の確認で脆弱性のあるパッケージへの参照が見つかった場合、更新されたパッケージへの直接的な依存関係を csproj ファイルに追加して、推移的な依存関係を上書きする必要があります。任意のエディターで projectname.csproj ファイルを開くか、Visual Studio 2017 でプロジェクトを選択して右クリックし、コンテンツ メニューから [編集 projectname.csproj] を選択します。ここで projectname とは、利用中のプロジェクト名を指します。PackageReference ノードを探します。以下に例を示します。

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

検索で返された脆弱性のあるパッケージそれぞれについて、更新されたバージョンへの直接的な依存関係を、csproj ファイルに追加することによって追加する必要があります。そのためには、修正済みのバージョンを参照する新しい行を dependencies セクションに追加します。たとえば、検索によって、脆弱性のある System.Net.Security バージョン 4.3.0 への推移的な参照が示された場合は、適切な修正済みのバージョンである 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>

修正済みのバージョンへの直接的な依存関係を追加したら、csproj ファイルを保存します。

Visual Studio を使用している場合、更新した csproj ファイルを保存すると、Visual Studio で新しいパッケージのバージョンを復元します。復元の結果を確認するには、[出力] 画面を開き (Ctrl + Alt + O キー)、ドロップダウン リストの [出力元の表示][パッケージ マネージャー] に変更します。

Visual Studio を使用していない場合は、コマンド ラインを開き、プロジェクト ディレクトリに変更します。dotnet restore コマンドを実行して、新しい依存関係を復元します。

アプリケーションのリビルド

最後に、アプリケーションをリビルドし、通常どおり検証します。その後、任意の展開メカニズムを使用して、再度展開します。

セキュリティ問題の報告

  • .NET Core でセキュリティ上の潜在的な問題を発見した場合は、secure@microsoft.com までご連絡ください。報告内容によっては、.NET Core のバグ報奨金プログラムの対象となる場合があります。NET Core のバグ報奨金プログラムの詳細情報は、こちらを参照してください。

Microsoft Active Protections Program (MAPP)

お客様のセキュリティ保護をより向上させるために、マイクロソフトは、月例のセキュリティ更新プログラムの公開に先立ち、脆弱性情報を主要なセキュリティ ソフトウェア プロバイダーに提供しています。セキュリティ ソフトウェア プロバイダーは、この脆弱性の情報を使用し、ウイルス対策、ネットワーク ベースの侵入検出システムまたはホスト ベースの侵入防止システムを介して、お客様に最新の保護環境を提供します。このような保護環境を提供するセキュリティ ソフトウェア ベンダーの情報については、Microsoft Active Protections Program (MAPP) パートナーに記載されている各社の Web サイトを参照してください。

フィードバック

サポート

  • GitHub の .NET Core または ASP.NET Core 組織では、このアドバイザリに関する質問を投稿することができます。これらの組織の場所は https://github.com/dotnet/https://github.com/aspnet/ です。各製品のお知らせリポジトリ (https://github.com/dotnet/Announcements および https://github.com/aspnet/Announcements) には、問題点としてこのセキュリティ情報が掲載されており、質問を投稿できるディスカッションへのリンクが記載されています。
  • セキュリティ関連、およびセキュリティ更新プログラムに関するご質問や、ご不明な点などありましたら、マイクロソフト セキュリティ情報センターまでご連絡ください。詳細については、「Microsoft ヘルプとサポート」を参照してください。
  • その他、製品に関するご質問は、マイクロソフト プロダクト サポートまでご連絡ください。詳細については、「インターナショナル サポート」を参照してください。* Microsoft TechNet セキュリティ センター では、製品に関するセキュリティ情報を提供しています。

謝辞

この問題を連絡し、顧客の保護に協力してくださった下記の方に対し、マイクロソフトは深い謝意を表します

  • ASP.NET Core のサービス拒否の脆弱性 (CVE-2017-0247) を報告してくださった Sidertia Solutions の David Fernandez 氏
  • ASP.NET Core のなりすましの脆弱性 (CVE-2017-0256) を報告してくださった Mikhail Shcherbakov

免責

この文書に含まれている情報は、いかなる保証もない現状ベースで提供されるものです。Microsoft Corporation およびその関連会社は、市場性および特定の目的への適合性を含めて、明示的にも黙示的にも、一切の保証をいたしません。Microsoft Corporation、その関連会社およびこれらの者の供給者は、直接的、間接的、偶発的、結果的損害、逸失利益、懲罰的損害、または特別損害を含むすべての損害に対して、状況のいかんを問わず一切責任を負いません。結果的損害または偶発的損害に対する責任の免除または制限を認めていない地域においては、上記制限が適用されない場合があります。

更新履歴

  • V1.0 (2017/05/10): このアドバイザリを公開しました。
Page generated 2017-05-09 15:33-07:00.
表示: