次の方法で共有


Visual Studio アイコン Visual Studio 2019 バージョン 16.4 リリース ノート


開発者コミュニティ | システム要件 | 互換性 | 頒布可能コード | リリース履歴 | ライセンス条項 | ブログ | Visual Studio のドキュメントの最新情報


Note

これは Visual Studio の最新バージョンではありません。 最新のリリースをダウンロードするには、Visual Studio のサイトにアクセスしてください。



サポート期間

Visual Studio 2019 バージョン 16.4 は現在サポートされていません。

Visual Studio 2019 バージョン 16.4 の Enterprise と Professional のユーザーは、2021 月 10 月までサポートされ、セキュリティの脆弱性に対する修正プログラムを受け取ります。 この期間は、2020 年 8 月に Visual Studio 2019 バージョン 16.7 が Visual Studio 2019 製品の次のサービス ベースラインとして指定されたことによって決定されました。 Visual Studio でサポートされるベースラインの詳細については、Visual Studio 2019 のサポート ポリシーに関するページを参照してください。 

最新バージョンのリリース ノートを参照するか、Visual Studio サイトにアクセスして、サポートされている最新バージョンの Visual Studio 2019 をダウンロードしてください。

Visual Studio 2019 バージョン 16.4 のリリース

アーカイブ済みのリリース ノート

Visual Studio 2019 ブログ

Visual Studio 2019 ブログは、Visual Studio エンジニアリング チームからの製品の分析情報の公式な情報源です。 Visual Studio 2019 リリースの詳細については、次の投稿を参照してください。


Visual Studio 2019 バージョン 16.4 で作成されたすべての開発者コミュニティ項目の完全な一覧を表示します


Release Notes Icon Visual Studio 2019 バージョン 16.4.27

リリース日: 2021 年 10 月 12 日

Visual Studio 2019 バージョン 16.4.27 で対処された主な問題

セキュリティ アドバイザリ メモ

CVE-2021-1971 OpenSSL サービス拒否の脆弱性

Git によって使用される OpenSSL ライブラリに、潜在的なサービス拒否の脆弱性が存在します。

CVE-2021-3449 OpenSSL サービス拒否の脆弱性

Git によって使用される OpenSSL ライブラリに、潜在的なサービス拒否の脆弱性が存在します。

CVE-2021-3450 OpenSSL サービス拒否の脆弱性

Git によって使用される OpenSSL ライブラリに、潜在的なフラグ バイパスが存在します。


Release Notes Icon Visual Studio 2019 バージョン 16.4.26

リリース日: 2021 年 9 月 14 日

Visual Studio 2019 バージョン 16.4.26 で対処された主な問題

セキュリティ アドバイザリ メモ

CVE-2021-26434 Visual Studio での不正なアクセス許可割り当てによる特権の昇格の脆弱性

Visual Studio では、C++ によるゲーム開発をインストールし、Unreal Engine インストーラー ワークロードを選択した後、アクセス許可割り当ての脆弱性が生じます。 インストール中、システムは LPE に対して脆弱です。すべてのユーザーへの書き込みアクセス権を使用してディレクトリが作成されます。

CVE-2021-36952 Visual Studio のリモート コード実行の脆弱性

Visual Studio でメモリ内のオブジェクトが適切に処理されなかった場合、リモートでコードが実行されてしまう脆弱性が存在します。 脆弱性の悪用に成功した攻撃者は、現在のユーザーのコンテキストで任意のコードを実行することができます。


Release Notes Icon Visual Studio 2019 バージョン 16.4.25

''リリース日: 2021 年 8 月 10 日''

Visual Studio 2019 バージョン 16.4.25 で対処された主な問題

  • update コマンドのコマンド ライン実行に影響していた問題を修正しました。 更新が初めて失敗した場合、その後に update コマンドを発行すると、更新によって前の操作が中断した箇所から再開されるようになりました。

セキュリティ アドバイザリ メモ

CVE-2021-26423 .NET Core のサービス拒否の脆弱性

サービス拒否の脆弱性があり、WebSocket エンドポイントを提供する .NET (Core) サーバー アプリケーションが、1 つの WebSocket フレームを読み取ろうとしている間に、無限ループに陥る可能性があります。

CVE-2021-34485 .NET Core 情報漏えいの脆弱性

必要に応じてクラッシュ ダンプとダンプを収集するツールによって作成されたダンプが、Linux および macOS のグローバル読み取りアクセス許可を使用して作成されるときに、情報漏えいの脆弱性が存在します。

CVE-2021-34532 ASP.NET Core 情報漏えいの脆弱性

情報漏えいの脆弱性は、JWT トークンが解析できない場合にログに記録される場所に存在します。


Release Notes Icon Visual Studio 2019 バージョン 16.4.24

リリース日: 2021 年 7 月 13 日

Visual Studio 2019 バージョン 16.4.24 で対処された主な問題

  • .NET 3.1.117 SDK が Visual Studio 2019 に追加されました。

Release Notes Icon Visual Studio 2019 バージョン 16.4.23

リリース日: 2021 年 6 月 8 日

Visual Studio 2019 バージョン 16.4.23 で修正された主な問題

セキュリティ アドバイザリ メモ

CVE-2021-31957 ASP.NET サービス拒否の脆弱性

ASP.NET Core によってクライアントの切断が不適切に処理される場合、サービス拒否の脆弱性が存在します。


Release Notes Icon Visual Studio 2019 バージョン 16.4.22

リリース日: 2021 年 5 月 11 日

Visual Studio 2019 バージョン 16.4.22 で修正された主な問題

  • 管理者が更新プログラムを配置するために Visual Studio の新しいレイアウトを作成するときに、更新が失敗する原因になっていた問題を修正しました。 レイアウトの場所が移動されていたため、クライアント コンピューターの更新が失敗します。

セキュリティ アドバイザリ メモ

CVE-2021-27068 入れ子になったフォルダーに python.exe を配置するときに RCE が可能

Python コードを使用してワークスペースを開くとき、そのワークスペースの scripts サブフォルダーに python.exe が含まれていると、リモート コード実行の脆弱性が存在します。

CVE-2021-31204 .NET Core の特権の昇格脆弱性

.NET 5.0 と .NET Core 3.1 には、Linux または macOS ベースのオペレーティング システムで単一ファイルのアプリケーションを実行するときに、特権の昇格の脆弱性が存在します。


Release Notes Icon Visual Studio 2019 バージョン 16.4.21

"リリース日: 2021 年 4 月 13 日"

Visual Studio 2019 バージョン 16.4.21 で修正された主な問題

セキュリティ アドバイザリ メモ

CVE-2021-27064 Visual Studio インストーラーの特権の昇格の脆弱性

リモートでのコード実行の脆弱性は、Visual Studio インストーラーによって、フィードバック クライアントが昇格された状態で実行された場合に発生します。

CVE-2021-28313 / CVE-2021-28321 / CVE-2021-28322 診断ハブ標準コレクター サービスの特権の昇格の脆弱性

診断ハブ標準コレクターがデータ操作を適切に処理しなかった場合、特権の昇格の脆弱性が存在します。


Release Notes Icon Visual Studio 2019 バージョン 16.4.20

"リリース日: 2021 年 3 月 9 日"

Visual Studio 2019 バージョン 16.4.20 で修正された主な問題

セキュリティ アドバイザリ メモ

CVE-2021-21300 Git for Visual Studio のリモート コード実行の脆弱性

Visual Studio を使用して悪意のあるリポジトリを複製するときに、リモート コード実行の脆弱性が存在します。

CVE-2021-26701 .NET Core のリモート コード実行の脆弱性

テキスト エンコードの実行方法が原因で、.NET 5 と .NET Core にリモート コード実行の脆弱性が存在します。


Release Notes Icon Visual Studio 2019 バージョン 16.4.19

"リリース日: 2021 年 2 月 10 日"

Visual Studio 2019 バージョン 16.4.19 で修正された主なイシュー


Release Notes Icon Visual Studio 2019 バージョン 16.4.18

リリース日: 2021 年 2 月 9 日

Visual Studio 2019 バージョン 16.4.18 で修正された主なイシュー

セキュリティ アドバイザリ メモ

CVE-2021-1639 TypeScript 言語サービスのリモート コード実行の脆弱性

Visual Studio で、JavaScript または TypeScript コード ファイルが含まれる悪意のあるリポジトリを読み込む場合、リモート コード実行の脆弱性が存在します。

CVE-2021-1721 .NET Core のサービス拒否の脆弱性

X509 証明書チェーンの構築中に HTTPS Web 要求を作成する場合、サービス拒否の脆弱性が存在します。

CVE-2021-24112 .NET 5 および .NET Core のリモート コード実行の脆弱性

メタファイルを破棄するときにグラフィックス インターフェイスにそのメタファイルへの参照が残っている場合、リモート コード実行の脆弱性が存在します。 この脆弱性は、MacOS または Linux で実行されているシステムにのみ存在します。


Release Notes Icon Visual Studio 2019 バージョン 16.4.17

リリース日: 2020 年 1 月 12 日

Visual Studio 2019 バージョン 16.4.17 で修正された主なイシュー

セキュリティ アドバイザリ メモ

CVE-2021-1651 / CVE-2021-1680 診断ハブ標準コレクター サービスの特権の昇格の脆弱性

診断ハブ標準コレクターがデータ操作を適切に処理しなかった場合、特権の昇格の脆弱性が存在します。

CVE-2020-26870 Visual Studio インストーラーのリモート コード実行の脆弱性

Visual Studio インストーラーが悪意のあるマークダウンを表示しようとする場合、リモート コード実行の脆弱性が存在します。

CVE-2021-1723 .NET Core と Visual Studio のサービス拒否の脆弱性

Kestrel の実装にサービス拒否の脆弱性が存在します。


Release Notes Icon Visual Studio 2019 バージョン 16.4.16

"リリース日: 2020 年 12 月 8 日"

Visual Studio 2019 バージョン 16.4.16 で修正された主なイシュー

セキュリティ アドバイザリ メモ

CVE-2020-17156 Visual Studio のリモート コード実行の脆弱性

Visual Studio を使用して悪意のあるリポジトリを複製するときに、リモート コード実行の脆弱性が存在します。


Release Notes Icon Visual Studio 2019 バージョン 16.4.15

リリース日: 2020 年 11 月 10 日

Visual Studio 2019 バージョン 16.4.15 で修正された主なイシュー

セキュリティ アドバイザリ メモ

CVE-2020-17100 Visual Studio の改ざんの脆弱性

Python Tools for Visual Studio によって python27 フォルダーが作成された場合、改ざんの脆弱性が存在します。 この脆弱性の悪用に成功した攻撃者は、昇格されたコンテキストでプロセスを実行できます。


Release Notes Icon Visual Studio 2019 バージョン 16.4.14

リリース日: 2020 年 10 月 13 日

Visual Studio 2019 バージョン 16.4.14 で修正された主なイシュー

  • 特定の Intel プロセッサ上での JCC エラッタのパフォーマンスへの影響を軽減するオプトイン フラグが追加されました。
  • PGO MEMMAX スイッチは、ユーザー入力がより尊重される方法で動作するようになります。
  • PGO のプロファイルに予約されるメモリ量が削減されました。
  • .NET Core 2.1.13 Runtime と 3.1.109 SDK (3.1.9) が Visual Studio 2019 に追加されました。

Release Notes Icon Visual Studio 2019 バージョン 16.4.13

リリース日: 2020 年 9 月 8 日

Visual Studio 2019 バージョン 16.4.13 で修正された主なイシュー

セキュリティ アドバイザリ メモ

CVE-2020-1130 診断ハブ標準コレクターの特権の昇格の脆弱性

診断ハブ標準コレクターがデータ操作を適切に処理しなかった場合、特権を昇格できる脆弱性が存在します。 この脆弱性の悪用に成功した攻撃者は、昇格されたコンテキストでプロセスを実行できます。

CVE-2020-1133 診断ハブ標準コレクターの特権の昇格の脆弱性

診断ハブ標準コレクターがファイル操作を適切に処理しなかった場合、特権を昇格できる脆弱性が存在します。 この脆弱性の悪用に成功した攻撃者は、昇格されたコンテキストでプロセスを実行できます。

CVE-2020-16856 Visual Studio のリモート コード実行の脆弱性

Visual Studio でメモリ内のオブジェクトが適切に処理されなかった場合、リモートでコードが実行されてしまう脆弱性が存在します。 脆弱性の悪用に成功した攻撃者は、現在のユーザーのコンテキストで任意のコードを実行することができます。

CVE-2020-16874 Visual Studio のリモート コード実行の脆弱性

Visual Studio でメモリ内のオブジェクトが適切に処理されなかった場合、リモートでコードが実行されてしまう脆弱性が存在します。 脆弱性の悪用に成功した攻撃者は、現在のユーザーのコンテキストで任意のコードを実行することができます。

CVE-2020-1045 Microsoft ASP.NET Core のセキュリティ機能バイパスの脆弱性

セキュリティ機能のバイパスの脆弱性は、Microsoft ASP.NET コアによるエンコードされた Cookie 名の解析方法に存在します。 ASP.NET Core Cookie パーサーは Cookie 文字列全体をデコードします。これにより、悪意のある攻撃者によって、名前がパーセント エンコーディングされた 2 番目の Cookie が設定される可能性があります。

16.4.13 のその他の修正プログラム

  • C++ のビルドのキャンセル後に、Visual Studio または MSBuild の応答が時折停止するイシューを修正しました。
  • .NET Core のサポート対象外のバージョンが、Visual Studio のセットアップ時以外で削除されている場合、修復またはアップグレード時に再インストールされなくなりました。

Release Notes Icon Visual Studio 2019 バージョン 16.4.12

リリース日: 2020 年 8 月 11 日

Visual Studio 2019 バージョン 16.4.12 で修正された主なイシュー

セキュリティ アドバイザリ メモ

CVE-2020-1597

ASP.NET Core によって Web 要求が不適切に処理されない場合、サービス拒否の脆弱性が存在します。 攻撃者がこの脆弱性を悪用して、ASP.NET Core Web アプリケーションに対するサービス拒否を発生させる可能性があります。 この脆弱性はリモートで、認証なしで悪用できます。


Release Notes Icon Visual Studio 2019 バージョン 16.4.11

リリース日: 2020 年 7 月 14 日

Visual Studio 2019 バージョン 16.4.11 で修正された主なイシュー

セキュリティ アドバイザリ メモ

CVE-2020-1393 診断ハブ標準コレクター サービスの特権の昇格の脆弱性

Windows Diagnostics Hub Standard Collector Service が入力を正しくサニタイズできない場合、特権の昇格の脆弱性が存在し、ライブラリ読み込み動作が安全でなくなります。

CVE-2020-1416 Visual Studio の特権の昇格の脆弱性

Visual Studio でソフトウェアの依存関係を読み込むときに、特権の昇格の脆弱性が存在します。

CVE-2020-1147 .NET Core のサービス拒否の脆弱性

認証を受けていないリモートの攻撃者が、特別に作成された要求を ASP.NET Core アプリケーションや、特定の型の XML を解析する他のアプリケーションに発行して、この脆弱性を悪用する可能性があります。 このセキュリティ更新プログラムは、XML ペイロード内に存在できる型を制限することで、脆弱性に対処します。


Release Notes Icon Visual Studio 2019 バージョン 16.4.10

リリース日: 2020 年 6 月 9 日

Visual Studio 2019 バージョン 16.4.10 で修正された主なイシュー

  • setjmp 後に間違った値が復元される可能性があるバグを修正しました。

セキュリティ アドバイザリ メモ

CVE-2020-1108 / CVE-2020-1108.NET Core のサービス拒否の脆弱性

CVE-2020-1108 に包括的に対応するために、Microsoft は .NET Core 2.1 および .NET Core 3.1 の更新プログラムをリリースしました。 これらのバージョンの .NET Core を使用しているお客様は、最新バージョンの .NET Core をインストールする必要があります。 .NET Core を更新する場合の最新のバージョン番号と手順については、リリース ノートを参照してください。

CVE-2020-1202 / CVE-2020-1203 診断ハブ標準コレクター サービスの特権の昇格の脆弱性

診断ハブ標準コレクターまたは Visual Studio 標準コレクターがメモリ内のオブジェクトを正しく処理できない場合、特権の昇格の脆弱性が存在します。

CVE-2020-1293 / CVE-2020-1278 / CVE-2020-1257 診断ハブ標準コレクター サービスの特権の昇格の脆弱性

診断ハブ標準コレクター サービスによってファイル操作が適切に処理されない場合、特権の昇格の脆弱性が存在します。


Release Notes Icon Visual Studio 2019 バージョン 16.4.9

リリース日: 2020 年 5 月 27 日

Visual Studio 2019 バージョン 16.4.9 で修正された主なイシュー

  • これにより、最適化で使用される分析のキャッシュのバグが修正され、誤って不要とマークされた命令が削除されることがなくなります。 この修正プログラムでは古いデータがキャッシュに保存されるケースが検出されます。 これがどのようなケースかを全体として特徴づけるのは難しいですが、ループ内のインデックスでのモジュロ演算がレポートにありました。 今後のため、(未サポートの) /d2ssa-bit-estimator- フラグを追加して、特定の最適化を全体的にオフにしました。 このフラグは修正プログラムで追加されたため、以前のバージョンには存在しません。
  • 特定の Intel プロセッサでの Intel ジャンプ条件コード (JCC) Erratum マイクロコード更新によって引き起こされるパフォーマンスへの影響を軽減するためのサポートが追加されました。
  • ラムダ ローカル変数によって発生するコード分析中の cl.exe での誤った C6244 警告とクラッシュが修正されました。
  • Office コードに対して実行されている PREfast 16.5 の ICE

Release Notes Icon Visual Studio 2019 バージョン 16.4.8

リリース日: 2020 年 5 月 12 日

Visual Studio 2019 バージョン 16.4.8 で修正された主なイシュー

  • 企業の IT 管理者と展開エンジニアが、Microsoft Update Catalog と WSUS でホストされている VS2019 16.4 更新プログラムを適用できるかを判断するために Microsoft Update クライアントや SCCM などのツールを構成できるようにするための変更を追加します。

セキュリティ アドバイザリ メモ

CVE-2020-1108 .NET Core のサービス拒否の脆弱性

認証を受けていないリモートの攻撃者が、特別に作成された要求を .NET Core アプリケーションに発行して、この脆弱性を悪用する可能性があります。 このセキュリティ更新プログラムでは、.NET Core Web アプリケーションによる Web 要求の処理方法を修正することで、脆弱性に対処します。

CVE-2020-1161 .NET Core のサービス拒否の脆弱性

認証を受けていないリモートの攻撃者が、特別に作成された要求を ASP.NET Core アプリケーションに発行して、この脆弱性を悪用する可能性があります。 このセキュリティ更新プログラムでは、ASP.NET Core Web アプリケーションによる Web 要求の処理方法を修正することで、脆弱性に対処します。


Release Notes Icon Visual Studio 2019 バージョン 16.4.7

リリース日: 2020 年 4 月 14 日

Visual Studio 2019 バージョン 16.4.7 で修正された主なイシュー

セキュリティ アドバイザリ メモ

CVE-2020-0899 Microsoft Visual Studio の特権の昇格の脆弱性

特権の昇格脆弱性は、Microsoft Visual Studio アップデーター サービスがファイルのアクセス許可を正しく処理しないときに発生します。 攻撃者がこの脆弱性を悪用すると、ローカル システムのセキュリティ コンテキストで任意のファイルの内容が上書きされる可能性があります。

CVE-2020-0900 Visual Studio 拡張機能インストーラー サービスの特権の昇格脆弱性

特権の昇格脆弱性は、Visual Studio 拡張機能インストーラー サービスがファイル操作を正しく処理しないときに発生します。 この脆弱性の悪用に成功した攻撃者は、昇格されたアクセス許可を使用して任意の場所にあるファイルを削除できます。

CVE-2020-5260 URL に対する検証が不十分なことが原因で発生する Git for Visual Studio の資格情報リークの脆弱性

資格情報リークの脆弱性は、特別に細工された URL が解析され、資格情報ヘルパーに送信されると発生します。 これにより、資格情報が間違ったホストに送信される可能性があります。


Release Notes Icon Visual Studio 2019 バージョン 16.4.6

リリース日: 2020 年 3 月 10 日

Visual Studio 2019 バージョン 16.4.6 で修正された主なイシュー

セキュリティ アドバイザリ メモ

CVE-2020-0793CVE-2020-0810 診断ハブ標準コレクター サービスの特権の昇格の脆弱性

Diagnostics Hub Standard Collector がファイル操作を不適切に処理した場合、または Windows Diagnostics Hub Standard Collector Service が入力を正しくサニタイズできない場合、特権の昇格の脆弱性が存在します。

CVE-2020-0884 Outlook Web アドインの作成時のスプーフィングの脆弱性

多要素認証が有効になっている場合に Outlook Web アドインを作成すると、スプーフィングに SSL でセキュリティ保護されない応答 URL が含まれ、脆弱性が発生します。 攻撃者がこの脆弱性を悪用すると、アクセス トークンが侵害され、セキュリティとプライバシーのリスクが生じる可能性があります。

CVE-2020-0789 Visual Studio 拡張機能インストーラー サービスのサービス拒否の脆弱性

Visual Studio 拡張機能インストーラー サービスがハード リンクを正しく処理しない場合、サービス拒否の脆弱性が存在します。 脆弱性の悪用に成功した攻撃者が、ターゲット システムの応答を停止する可能性があります。


Release Notes Icon Visual Studio 2019 バージョン 16.4.5

リリース日: 2020 年 2 月 11 日

Visual Studio 2019 バージョン 16.4.5 で修正された主なイシュー


Release Notes Icon Visual Studio 2019 バージョン 16.4.4

リリース日: 2020 年 1 月 30 日

Visual Studio 2019 バージョン 16.4.4 で修正された主なイシュー


Release Notes Icon Visual Studio 2019 バージョン 16.4.3

リリース日: 2020 年 1 月 14 日

セキュリティ アドバイザリ メモ

CVE-2020-0602 ASP.NET Core サービス拒否の脆弱性

認証を受けていないリモートの攻撃者が、特別に作成された要求を ASP.NET Core アプリケーションに発行して、この脆弱性を悪用する可能性があります。 このセキュリティ更新プログラムでは、ASP.NET Core Web アプリケーションによる Web 要求の処理方法を修正することで、脆弱性に対処します。

CVE-2020-0603 ASP.NET Core のリモート コード実行の脆弱性

認証を受けていないリモートの攻撃者が、特別に作成された要求を ASP.NET Core アプリケーションに発行して、この脆弱性を悪用する可能性があります。 このセキュリティ更新プログラムでは、ASP.NET Core Web アプリケーションによるメモリ内の処理方法を修正することで、脆弱性に対処します。

CVE-2020-0605 .NET Core のリモート コード実行の脆弱性

脆弱性を悪用するには、対象となるバージョンの .NET Core で、特別に細工されたファイルをユーザーが開く必要がります。 ある電子メール攻撃のシナリオでは、攻撃者は特別に細工されたファイルをユーザーに送信し、そのファイルを開くようユーザーに納得させることで、脆弱性を悪用する可能性があります。このセキュリティ更新プログラムでは、.NET Core がファイルのソース マークアップを確認する方法を修正することによって、脆弱性に対処します。

CVE-2020-0606 .NET Core のリモート コード実行の脆弱性

脆弱性を悪用するには、対象となるバージョンの .NET Core で、特別に細工されたファイルをユーザーが開く必要がります。 ある電子メール攻撃のシナリオでは、攻撃者は特別に細工されたファイルをユーザーに送信し、そのファイルを開くようユーザーに納得させることで、脆弱性を悪用する可能性があります。このセキュリティ更新プログラムでは、.NET Core がファイルのソース マークアップを確認する方法を修正することによって、脆弱性に対処します。

Visual Studio 2019 バージョン 16.4.3 で修正された主な問題


Release Notes Icon Visual Studio 2019 バージョン 16.4.2

リリース日: 2019 年 12 月 17 日

Visual Studio 2019 バージョン 16.4.2 で修正された主要なイシュー


Release Notes Icon Visual Studio 2019 バージョン 16.4.1

リリース日: 2019 年 12 月 10 日

Visual Studio 2019 バージョン 16.4.1 で修正された主要なイシュー

セキュリティ アドバイザリ メモ

CVE-2019-1349 サブモジュール名に対する制限が緩すぎることが原因で発生する Git for Visual Studio のリモート実行脆弱性

兄弟サブモジュールのディレクトリ用のサブモジュール名の衝突が Git で発生している場合には、リモート コード実行の脆弱性が存在します。 この脆弱性を悪用した攻撃者によって、ターゲット コンピューター上のコードがリモートで実行される可能性があります。 セキュリティ更新プログラムでは、新しいバージョンの Git for Windows を使用してこの脆弱性に対処します。このバージョンでは、サブモジュールのクローン用のディレクトリを空にする必要があります。

CVE-2019-1350 コマンドライン引数の引用が正しくないことが原因で発生する Git for Visual Studio のリモート実行脆弱性

SSH URL と組み合わせた再帰クローン中に特定の方法で引用されたコマンドライン引数が解釈される場合には、リモート コード実行脆弱性が存在します。 この脆弱性を悪用した攻撃者によって、ターゲット コンピューター上のコードがリモートで実行される可能性があります。 セキュリティ更新プログラムでは、この問題を解決する新しいバージョンの Git for Windows を使用して脆弱性に対処します。

CVE-2019-1351 クローン中にアルファベット以外のドライブ名が使用されることが原因で発生する Git for Visual Studio の任意のファイル上書き脆弱性

アルファベット以外のドライブ名によって git clone での安全性チェックが省略される場合、Git には任意のファイル上書き脆弱性が存在します。 この脆弱性を悪用した攻撃者によって、ターゲット コンピューター上の任意のファイルに対して書き込みが行われる可能性があります。 セキュリティ更新プログラムでは、この問題を解決する新しいバージョンの Git for Windows を使用して脆弱性に対処します。

CVE-2019-1352 NTFS 代替データストリームを認識しないことが原因で発生する Git for Visual Studio のリモート実行脆弱性

NTFS 代替データ ストリームを介して git/ ディレクトリにクローンおよび書き込みを行う場合には、リモート コード実行脆弱性が存在します。 この脆弱性を悪用した攻撃者によって、ターゲット コンピューター上のコードがリモートで実行される可能性があります。 このセキュリティ更新プログラムでは、NTFS 代替データ ストリームを認識するようになった新しいバージョンの Git for Windows を使用して脆弱性に対処します。

CVE-2019-1354 バックスラッシュを含む追跡対象ファイルの書き出しを拒否しないことが原因で発生する Git for Visual Studio の任意のファイル上書き脆弱性

バックスラッシュや悪意のあるシンボリック リンクを含むツリー エントリが処理ツリーを抜け出す可能性がある場合には、Git に任意のファイル上書き脆弱性が存在します。 この脆弱性を悪用した攻撃者によって、ターゲット コンピューター上の任意のファイルに対して書き込みが行われる可能性があります。 セキュリティ更新プログラムでは、このようなバックシュラッシュの使用を許可しない新しいバージョンの Git for Windows を使用して脆弱性に対処します。

CVE-2019-1387 再帰的なクローンにおいてサブモジュール名の検証が緩すぎることが原因で発生する Git for Visual Studio のリモート実行脆弱性

サブモジュールで再帰的なクローンを行う場合は、Git にリモート コード実行脆弱性が存在します。 この脆弱性を悪用した攻撃者によって、ターゲット コンピューター上のコードがリモートで実行される可能性があります。 セキュリティ更新プログラムでは、サブモジュール名の検証を強化した新しいバージョンの Git for Windows を使用して脆弱性に対処します。

CVE-2019-1486 Live Share の拡張 URL リダイレクト脆弱性

Live Share セッションに接続されているゲストが、セッション ホストによって指定された任意の URL にリダイレクトされたときに、Visual Studio Live Share 拡張機能でスプーフィング脆弱性が検出されました。 攻撃者は、この脆弱性を悪用し、ゲストのコンピューターでブラウザーを開き、明示的な同意なしに悪意のある URL に移動できるようになっている可能性があります。 これは、アクティブな Live Share セッション中に自動ポート転送を許可する Live Share の "共有サーバー" 機能の一部でした。 最新の更新プログラムでは、ホストが指定した URL を参照する前に Live Share ゲストの同意を取り消すことで、この脆弱性に対処します。


Release Notes Icon Visual Studio 2019 バージョン 16.4

リリース日: 2019 年 12 月 3 日

Visual Studio 2019 バージョン 16.4 の新機能の概要

  • Visual Studio で "FIPS 準拠モード" がサポートされました。
  • XAML デザイナーのズーム/位置の既定が [全体を表示] になりました。
  • [データ バインドの作成] ダイアログが追加されました。
  • regions の IntelliSense の機能強化
  • XAML IntelliSense でのスニペット
  • デザイナーとは別のウィンドウでのポップアップ XAML エディター
  • 参照されているアセンブリのリソースの表示
  • ライブ ビジュアル ツリーでの [自分の XAML のみ表示]
  • リソース ディクショナリのマージ
  • XAML Islands のサポート
  • [テンプレートの編集] が、サードパーティのコントロールで機能するようになりました。
  • Clang と MSVC の両方に対する、C++ MSBuild および CMake プロジェクトでの Clang-Tidy サポート
  • Windows 用 MSVC でコンパイルされたプロジェクトの AddressSanitizer サポート
  • ローカル Git リポジトリを GitHub に公開するためのサポート。
  • ご利用のドキュメント タブを縦書きドキュメント タブを使用した縦レイアウトに変更します。
  • このリリースの .NET の生産性の追加事項には、エラー リストでコード スタイル ルールの重要度レベルを直接構成する機能、[すべての参照の検索] に今回追加された種類およびメンバーごとにグループ化するオプション、ローカル関数を静的にして関数の外部で定義された変数を関数の宣言および呼び出しに渡すリファクタリングが含まれています。
  • 新しいピン留め可能なプロパティ機能を使用して、デバッガー ウィンドウでのオブジェクトの表示方法を簡単にカスタマイズできます。
  • コンテナー ツール ウィンドウにより、Docker コンテナーとイメージを検査、停止、開始、削除する機能が追加されました。
  • ツール ウィンドウを自動的に非表示にすることで起動パフォーマンスを改善するオプション
  • 発行の依存関係を管理する場合、または接続済みサービスを使用する場合の、SQL Server および Azure Storage 接続文字列の自動検出
  • 64 ビット ランタイムを使用する Azure Functions の開発サポートが追加されました。
  • .NET Core 3.0 アプリ発行オプション (実行準備完了 (Crossgen)、リンク、SingleExe) のサポートを追加しました
  • このリリースでの .NET の生産性の追加には、エディターを使用してコード スタイル ルールの重大度レベルを直接構成する機能、新しい [Go To Base]\(ベースに移動\) コマンドを使用する簡単な継承チェーンでの上への移動、すべてのパラメーターに対する null チェックの追加、およびメソッドをオーバーライドするための XML ドキュメントが含まれます。
  • Xamarin.Forms 用の XAML ホット リロード
  • Android アプリ バンドルの発行
  • AndroidX 移行ウィザード
  • Android レイアウトの lint

Visual Studio 2019 バージョン 16.4 の新機能の詳細

Visual Studio で "FIPS 準拠モード" をサポート

バージョン 16.4 より、Windows、Azure、.NET 用のアプリとソリューションを開発するときに、Visual Studio 2019 で "FIPS 140-2 準拠モード" がサポートされるようになりました。 Linux、iOS、Android などの Microsoft 以外のプラットフォーム向けのアプリやソリューションを開発している場合、これらのプラットフォームでは、FIPS 140-2 の承認されたアルゴリズムを使用できない可能性があります。 Visual Studio に含まれているサードパーティ製ソフトウェアまたはユーザーがインストールする拡張機能でも、FIPS 140-2 の承認されたアルゴリズムを使用できない場合があります。 また、SharePoint ソリューションの開発では、FIPS 140-2 準拠モードはサポートされていません。

Visual Studio の FIPS 140-2 準拠モードを構成するには .NET Framework 4.8 をインストールし、次の Windows グループ ポリシー設定を有効にします: "システム暗号: 暗号化、ハッシュ、署名のための FIPS 準拠アルゴリズムを使う。"

WPF/UWP ツール

WPF/UWP アプリケーションを構築しているお客様は、Visual Studio XAML ツールの次の点が改善されます。

Designer

  • XAML デザイナーのズーム/位置の既定が [全体を表示] になりました: お客様からのフィードバックに基づいて、XAML ウィンドウ/ページ/コントロールなどを開いたときに発生する既定の XAML デザイナーのズーム動作を再評価しました。以前のエクスペリエンスでは、Visual Studio セッション間で各ファイルのズーム レベルと位置が保存されていたため、顧客がしばらく時間を空けてファイルに戻ったときに混乱が発生しました。 このリリース以降、ズーム レベルと位置の保存はアクティブなセッションの期間だけ行われ、Visual Studio を再起動すると既定の [全体を表示] に戻ります。
  • [データ バインドの作成] ダイアログ: Visual Studio では、WPF .NET Framework 開発者は、XAML デザイナーとプロパティ エクスプローラーの右クリックからデータ バインド ダイアログを使用でき、このダイアログは以前は UWP 開発者も利用できました。 このリリースでは、このエクスペリエンスを UWP 開発者に戻し、WPF .NET Core アプリケーションのサポートが追加されています。 この機能はまだ開発段階にあり、今後も改善され、.NET Framework ダイアログ機能との機能パリティが戻るようになります。

XAML エディター

  • #regions の IntelliSense の機能強化: Visual Studio 2015 以降、#region のサポートが WPF と UWP の XAML 開発者に提供され、最近になって Xamarin.Forms にも提供されています。 今回のリリースでは、IntelliSense のバグが修正され、これにより <! の入力を始めたときに #regions が正しく表示されるようになりました。
  • XAML IntelliSense でのスニペット: IntelliSense が拡張され、XAML スニペットの表示がサポートされるようになりました。これは、組み込みのスニペットと、手動で追加したカスタム スニペットの両方で機能します。 このリリース以降、すぐに使用できる XAML スニペット (#region、列定義、行定義、セッター、タグ) も追加されています。
  • デザイナーとは別のウィンドウでのポップアップ XAML エディター: XAML タブの横にある新しいポップアップ XAML ボタンを使用して、XAML デザイナーとその基になる XAML エディターを別々のウィンドウに簡単に分割できるようになりました。クリックすると、XAML デザイナーによって、アタッチされた XAML タブが最小化され、XAML エディター ビューだけの新しいウィンドウが開きます。 この新しいウィンドウは、Visual Studio の任意の表示またはタブ グループに移動できます。 元の XAML ビューを拡張することもできますが、同じファイルのすべての XAML ビューはリアルタイムで同期されたままであることに注意してください。
ポップアップ XAML コード ウィンドウ
ポップアップ XAML コード ウィンドウ
  • 参照されているアセンブリのリソースの表示: XAML IntelliSense が更新され、WPF Framework および WPF .NET Core プロジェクトで、参照されているアセンブリの XAML リソースの表示がサポートされるようになりました (ソースが使用できない場合)。

XAML デバッグ ツール

  • ライブ ビジュアル ツリーでの [自分の XAML のみ表示]: ライブ ビジュアル ツリーは、UWP と WPF の両方の開発者がデバッグ モードでアプリケーションを実行するときに使用できる機能であり、XAML ホット リロードに関連するライブ編集ツールの一部です。 以前の機能では、アタッチされた実行中のアプリケーションの完全なライブ ビジュアル ツリーが表示され、アプリ内で記述した XAML だけを表示するフィルターはありませんでした。 そのため、エクスペリエンスには関係のないものが多く含まれていました。お客様からのフィードバックに基づいて、アプリケーション内で記述したコントロールだけにツリーを制限する [自分の XAML のみ表示] という新しい既定値を追加しました。 これは新しい既定値ですが、ライブ ビジュアル ツリー自体内のボタンまたは新しい設定 ([オプション] > [デバッグ] > [全般] > [自分の XAML のみ表示]) を使用して、以前の動作に戻すこともできます
ライブ ビジュアル ツリーでの [自分の XAML のみ表示]
ライブ ビジュアル ツリーでの [自分の XAML のみ表示]

リソースとテンプレート

  • リソース ディクショナリのマージ: ソリューション エクスプローラーで利用できる新しい機能を使用して、UWP/WPF プロジェクト内の既存のリソース ディクショナリを、任意の有効な XAML ファイルと簡単にマージできるようになりました。 マージ ステートメントを追加する XAML ファイルを開き、マージするファイルを見つけて、ソリューション エクスプローラーでそのファイルを右クリックします。 コンテキスト メニューで、[Merge Resource Dictionary Into Active Window]\(リソース ディクショナリをアクティブ ウィンドウにマージする\) オプションを選択します。これにより、パスを含む適切なマージ XAML が追加されます。
リソース ディクショナリのマージ
リソース ディクショナリのマージ
  • [テンプレートの編集] がサードパーティのコントロールで機能するようになった: ソース コードとしてソリューションに含まれていない場合でも、コントロール テンプレートのコピーを作成できるようになりました。 この変更により、[テンプレートの編集] 機能が使用できるようになり、ソースが現在利用可能なファースト パーティ要素の場合と同様に動作するようになります。 この機能は、サード パーティ製のコントロール ライブラリと、ソースが使用できないファースト パーティの両方に適用されることに注意してください。

XAML Islands:

  • 強化された XAML Islands のサポート: Windows フォームと WPF .NET Core 3 アプリでの XAML Islands のシナリオのサポートが追加され、これらのアプリケーションに UWP XAML コントロールを簡単に追加できるようになりました。 これらの機能強化により、.NET Core 3 プロジェクトで、カスタム UWP XAML コントロールを含む UWP プロジェクトへの参照を行うことができます。 それらのカスタム コントロールは、Windows Community Toolkit v6 (Microsoft.Toolkit.Wpf.UI.XamlHost v6.0) で提供されている WindowsXamlHost コントロールで使用できます。 Windows アプリケーション パッケージ プロジェクトを使用して、.NET Core 3 の MSIX を Islands で生成することもできます。 作業を開始する方法については、ドキュメントを参照してください。

C++

  • コード分析では、Clang と MSVC ツールセットのどちらを使用しているかにかかわらず、MSBuild と CMake の両方のプロジェクトで Clang-Tidy がネイティブにサポートされるようになりました。 clang-tidy チェックは、バックグラウンド コード分析の一部として実行し、エディター内警告 (波線) として示し、エラー一覧に表示できます。
エラー一覧での Clang-Tidy 警告
エラー一覧での Clang-Tidy 警告
  • クロスプラットフォームの開発を開始するのに役立つ概要ページが Visual Studio CMake プロジェクトに追加されました。 これらのページを使用すると、Linux システムに接続し、ご利用の CMake プロジェクトに Linux または WSL 構成を追加するのが楽になります。
CMake の概要ページ
CMake の概要ページ
  • CMake プロジェクト用の起動ドロップダウン メニューに、最近使用したターゲットが表示され、フィルター処理できるようになりました。
  • C++/CLI では、Windows 用の .NET Core 3.1 以降との相互運用がサポートされるようになりました。
  • メモリ エラーの検出に役立つ C++ コードのランタイム インスツルメンテーションのために、Windows 上の MSVC でコンパイルされたプロジェクトに対して ASan を有効にできるようになりました。
  • MSVC の C++ 標準ライブラリに対する更新:
    • C++17:to_chars() の一般的精度が実装され、P0067R5 の基本文字列変換 (charconv) が完了しました。 これにより、C++17 標準のすべてのライブラリ機能の実装が完了します。
    • C++20:P1754R1 の名前変更概念が standard_case に実装されました。 最新の C++ Working Draft のプレビュー機能を含めるには、コンパイラ フラグ /std:c++latest を使用します。このフラグは、C/C++ の言語プロジェクト プロパティ ページの C++ 言語標準プロパティでも設定できます。
  • C++ Build Insights という名前の新しいツールのコレクションを使用できるようになりました。 詳細については、「C++ チーム ブログ」を参照してください。

GitHub サポートに発行する

  • Visual Studio 用の GitHub 拡張機能の一部であった GitHub への発行機能が、Visual Studio の GitHub Essentials に含まれるようになりました。
  • チーム エクスプローラーの同期ページにある [GitHub に発行] ボタンを使用して、ローカル Git リポジトリを GitHub に発行できるようになりました。

Visual Studio の縦書きドキュメント タブ

ご利用のエディターの左側または右側にある縦に並んだ一覧でご自分のドキュメント タブを管理します。

エディターの左側または右側にある縦に並んだ一覧で、ドキュメント タブを管理する
Visual Studio の縦書きドキュメント タブ

ピン留め可能なプロパティ デバッグ ツール

ピン留め可能なプロパティ機能を使用して、DataTips または [ウォッチ]、[自動変数]、[ローカル] の各ウィンドウの上部にプロパティをピン留めすることで、デバッグ時にオブジェクトをすばやく特定して検査できるようになりました。

ピン留め可能なプロパティ機能を使用してプロパティをピン留めして、オブジェクトを識別および検査する
Visual Studio でのピン留め可能なプロパティ

コンテナー ツール ウィンドウ

  • コンテナーの一覧表示、検査、停止、開始、削除を行うことができます。
  • 実行中のコンテナーのログとファイルの内容を表示したり、コンテナー内にターミナル ウィンドウを開いたりすることができます。
  • イメージの表示、検査、削除を行うことができます
コンテナー ツール ウィンドウを使用して、コンテナーの一覧表示、検査、停止、開始、削除を行うことができます。
Visual Studio のコンテナー ツール ウィンドウ

ツール ウィンドウを自動的に非表示にする

このプレビュー機能オプションを有効にすると、複数のツール ウィンドウを開いた状態で Visual Studio を起動することで生じる起動遅延をスキップできます。

.NET の生産性

  • エラー リストを使用して、コード スタイル ルールの重要度レベルを直接構成できるようになりました。 エラー、警告、または提案にカーソルを置きます。 右クリックし、[重要度の設定] を選択します。 その後、そのルールに対して構成する重要度レベルを選びます。 これにより、既存の EditorConfig がルールの新しい重要度で更新されます。 これは、サードパーティのアナライザーでも機能します。
エラー リストを使用してルールの重要度を直接設定する
エラー リストを使用してルールの重要度を直接設定する
  • [すべての参照の検索] を使用すると、種類とメンバーでグループ化できます。
[すべての参照の検索] での種類とメンバーによるグループ化
[すべての参照の検索] での種類とメンバーによるグループ化
  • ローカル関数を静的にし、関数の外部で定義された変数を関数の宣言と呼び出しに渡すことができるようになりました。 ローカル関数名にカーソルを置きます。 (Ctrl + .) キーを押して、[クイック アクションとリファクタリング] メニューをトリガーします。 [ローカル関数の作成]static を選択します。
ローカル関数を静的にする
ローカル関数を静的にする
  • ローカルの静的関数に変数を明示的に渡すことができるようになりました。 ローカルの静的関数内の変数にカーソルを置きます。 (Ctrl + .) キーを押して、[クイック アクションとリファクタリング] メニューをトリガーします。 [ローカルの静的関数で変数を明示的に渡す] を選択します。
ローカルの静的関数に変数を渡す
ローカルの静的関数に変数を渡す

.NET の生産性

  • エディターを使用して、コード スタイル ルールの重大度レベルを直接構成できるようになりました。 現在、ユーザーが .editorconfig ファイルを持っていない場合は、1 つ生成されます。 エラー、警告、または修正候補にカーソルを置き、(Ctrl + .) キーを押して [クイック アクションとリファクタリング] メニューを開きます。 [Configure or Suppress issues]\(問題の構成または抑制\) を選択します。 その後、ルールを選択し、そのルールに対して構成する重要度レベルを選びます。 これにより、既存の EditorConfig がルールの新しい重要度で更新されます。 これは、サードパーティのアナライザーでも機能します。
エディターを使用してルールの重要度を直接設定する
エディターを使用してルールの重要度を直接設定する
  • [Go To Base]\(ベースに移動\) コマンドを使用して、継承チェーンを上に移動できるようになりました。 [Go To Base]\(ベースに移動\) コマンドは、継承階層内を移動する要素のコンテキスト (右クリック) メニューで使用できます。 (Alt + Home) キーを押すこともできます。 複数の結果がある場合は、移動先として選択できるすべての結果が表示されたツール ウィンドウが開きます。
ベースに移動
ベースに移動
  • すべてのパラメーターに対して null チェックを追加できるようになりました。 これにより、Null 許容の、チェックのないパラメーターがすべて無効であることを確認する、if ステートメントが追加されます。 メソッド内の任意のパラメーターにカーソルを置きます。 (Ctrl + .) キーを押して、[クイック アクションとリファクタリング] メニューをトリガーします。 [すべてのパラメーターに対して null チェックを追加する] オプションを選択します。
すべてのパラメーターに対して null チェックを追加する
すべてのパラメーターに対して null チェックを追加する
  • XML ドキュメントが含まれていないメソッドでは、オーバーライドするメソッドから XML ドキュメントを自動的に継承できるようになりました。 ドキュメント化されたインターフェイス メソッドを実装する、ドキュメント化されていないメソッドの上にカーソルを置きます。 その後、クイック ヒントにインターフェイス メソッドからの XML ドキュメントが表示されます。 <inheritdoc> タグを使用して、基底クラスとインターフェイスから XML コメントを継承することもできます。 ドキュメントの例
XML のドキュメントの継承
XML のドキュメントの継承

Xamarin

Xamarin.Forms 用の XAML ホット リロード

Xamarin.Forms 用の XAML ホット リロードを使用すると、開発時間が短縮され、ユーザー インターフェイスに関するビルド、実験、反復処理が容易になります。 UI を微調整するたびにアプリをビルドし直す必要がなくなります。実行中のアプリで変更がすぐに表示されます。

Android アプリ バンドルの発行

Visual Studio で Android アプリケーションを発行するときに、Android アプリ バンドルを作成できるようになりました。 Google Play ストアまたはさまざまな Android アプリ ストアからアプリをダウンロードするときに、ユーザーのデバイスの仕様に従って最適化された APK が、アプリ バンドルによってユーザーに提供されます。

Android アプリ バンドルの発行
Android アプリ バンドルの発行

AndroidX 移行ウィザード

AndroidX 移行ウィザードを使用して、Android サポート ライブラリから既存の Android アプリケーションを AndroidX に変換できるようになりました。

AndroidX 移行ウィザード
AndroidX 移行ウィザード

Android レイアウトの lint

Android デザイナー内でレイアウトを編集するときに、一般的な問題のセットが提供されるようになりました。

Android レイアウトの lint
Android レイアウトの lint

Visual Studio 2019 バージョン 16.4 で修正された主要なイシュー


既知の問題

Visual Studio 2019 バージョン 16.4 のすべての問題と利用可能な回避策については、以下のリンクを参照してください。

Visual Studio 2019 の既知の問題

フィードバックと提案

皆様のご意見をお待ちしております。 問題がある場合は、インストーラーまたは Visual Studio IDE 自体の右上隅にある [問題の報告] オプションからお知らせください。 右上隅に フィードバック アイコン アイコンがあります。 製品に関する提案をしたり、Visual Studio 開発者コミュニティで問題を追跡したりすることにより、質問、回答の検索、新機能を提案したりすることができます。 ライブ チャット サポートを介して、無料のインストールのヘルプを取得することもできます。


ブログ

開発者ツールのブログで提供されている洞察や推奨事項を活用すると、すべての新しいリリースに関する最新情報を入手し続けることができ、さまざまな機能について掘り下げた記事を参照することもできます。


Visual Studio 2019 リリース ノート履歴

過去のバージョンの Visual Studio 2019 に関連する詳細については、「Visual Studio 2019 リリース ノート履歴」のページを参照してください。


ページのトップへ