マイクロソフト セキュリティ情報 MS13-103 - 重要
ASP.NET SignalR の脆弱性により、特権が昇格される (2905244)
公開日: 2013年12月11日
バージョン: 1.0
概説
概要
このセキュリティ更新プログラムは、非公開で報告された 1 件の ASP.NET SignalR の脆弱性を解決します。この脆弱性により、攻撃者が特別な細工が施された JavaScript を標的となったユーザーのブラウザーに送信した場合、特権が昇格される可能性があります。
このセキュリティ更新プログラムは、ASP.NET SignalR バージョン 1.1.0、1.1.1、1.1.2、1.1.3、2.0.0、およびサポートされているすべてのエディションの Microsoft Visual Studio Team Foundation Server 2013 について、深刻度「重要」と評価されています。詳細情報については、このセクションのサブセクション「影響を受けるソフトウェアおよび影響を受けないソフトウェア」を参照してください。
このセキュリティ更新プログラムは、ASP.NET SignalR にユーザー入力を正しくエンコードさせることにより、この脆弱性を解決します。この脆弱性に関する詳細については、次の「脆弱性の情報」のセクションの特定の脆弱性に関するサブセクション「よく寄せられる質問 (FAQ)」を参照してください。
推奨する対応策:
ASP.NET SignalR を使用する Web アプリケーションを開発しているお客様の場合:
ASP.NET SignalR 機能を使用する Web アプリケーションを開発しているお客様は、環境内の ASP.NET SignalR を更新する方法の詳細について、このセキュリティ情報の「セキュリティ更新プログラムの展開」セクションの更新のガイドを参照することをお勧めします。
Microsoft Visual Studio Team Foundation Server 2013 のインストールを実行している お客様の場合 : 自動更新を有効にし、Microsoft Visual Studio Team Foundation Server 2013 を実行しているお客様の場合、更新プログラムは自動的にダウンロードおよびインストールされます。自動更新を有効にしていない場合、この更新プログラムを手動で確認し、インストールする必要があります。自動更新の具体的な構成オプションの詳細については、 サポート技術情報 294871 を参照してください。
管理者およびエンタープライズのインストール、またはこのセキュリティ更新プログラムを手動でインストールしたいエンドユーザーは、更新プログラムの管理ソフトウェアまたは Microsoft Update サービスで更新プログラムを確認して、この更新プログラムをできる限り早期に適用することを推奨します。
このセキュリティ情報の後半の「検出および展開ツールとガイダンス」を参照してください。
サポート技術情報
サポート技術情報 | 2905244 |
---|---|
ファイルに関する情報 | あり |
SHA1/SHA2 ハッシュ | あり |
既知の問題 | なし |
影響を受けるソフトウェアおよび影響を受けないソフトウェア
ここに記載されているソフトウェアをテストし、影響を受けるバージョンまたはエディションを確認しました。その他のバージョンまたはエディションはサポート ライフサイクルが終了したか、または影響を受けません。ご使用中のソフトウェアのバージョンまたはエディションのサポート ライフサイクルを確認するには、マイクロソフト サポート ライフサイクルの Web サイトを参照してください。
影響を受けるソフトウェア
開発者用ツール | 最も深刻な脆弱性の影響 | 総合的な深刻度 | 置き換えられる更新プログラム |
---|---|---|---|
ASP.NET SignalR 1.1.x[1] (2903919) |
特権の昇格 | 重要 | なし |
ASP.NET SignalR 2.0.x[1] (2903919) |
特権の昇格 | 重要 | なし |
Microsoft Visual Studio Team Foundation Server 2013 (2903566) |
特権の昇格 | 重要 | なし |
影響を受けるソフトウェア | SignalR XSS の脆弱性 – CVE-2013-5042 | 総合的な深刻度 |
---|---|---|
開発者用ツール | ||
ASP.NET SignalR 1.1.x (2903919) | 重要 特権の昇格 | 重要 |
ASP.NET SignalR 2.0.x (2903919) | 重要 特権の昇格 | 重要 |
Microsoft Visual Studio Team Foundation Server 2013 (2903566) | 重要 特権の昇格 | 重要 |
SignalR XSS の脆弱性 – CVE-2013-5042
ASP.NET SignalR に特権昇格の脆弱性が存在します。この脆弱性により、攻撃者が標的となるユーザーのコンテキストでリソースにアクセスする可能性があります。
Common Vulnerabilities and Exposures のリストの標準のエントリとしてこの脆弱性を確認するには、CVE-2013-5042 を参照してください。
問題を緩和する要素
マイクロソフトは、この脆弱性の問題を緩和する要素を確認していません。
回避策
回避策は、根本的な脆弱性を正すものではありませんが、更新プログラムを適用するまでの間、既知の攻撃方法の阻止に役立つ設定または構成の変更を示します。マイクロソフトは次の回避策をテストし、回避策が機能性を低下させるかどうかの情報を提供しています。
ASP.NET SignalR の機能を 使用する Web アプリケーションを ホストする Windows サーバーの場合、 ASP.NET SignalR Forever Frame トランスポート プロトコル をオフにすると、この脆弱性から一時的に保護できます。
クライアントおよびサーバー側で ASP.NET SignalR Forever Frame トランスポート プロトコルを無効にする処理はコード内で行います。お客様の環境でこのプロトコルを無効にするためのガイドとして次のサンプルを参照してください。
クライアント側から影響を受けるトランスポートを無効にするサンプル コード
//既定のハブ接続を使用している場合 $.connection.hub.start({ transport: ["webSockets", "serverSentEvents", "longPolling"] }); // 手動で作成した接続を使用している場合 var connection = $.connection("https://sample.com/signalr"); connection.start({ transport: ["webSockets", "serverSentEvents", "longPolling"] });
既定のグローバル依存関係競合回避モジュールを使用するときにサーバー側で影響を受けるトランスポートを無効にするサンプル コード
using Microsoft.AspNet.SignalR; using Microsoft.AspNet.SignalR.Transports; using Owin; namespace MyApplication { public static class Startup { public static void ConfigureSignalR(IAppBuilder app) { //グローバル依存関係競合回避モジュールを使用している場合 TurnOfForeverFrame(GlobalHost.DependencyResolver); app.MapSignalR(); } public static void TurnOfForeverFrame(IDependencyResolver resolver) { var transportManager = resolver.Resolve<ITransportManager>() as TransportManager; transportManager.Remove("foreverFrame"); } } }
カスタム依存関係競合回避モジュールを使用するときにサーバー側で影響を受けるトランスポートを無効にするサンプル コード
using Microsoft.AspNet.SignalR; using Microsoft.AspNet.SignalR.Transports; using Owin; namespace MyApplication { public static class Startup { public static void ConfigureSignalR(IAppBuilder app) { // カスタム依存関係競合回避モジュールを使用している場合 var resolver = GetCustomResolver(); TurnOfForeverFrame(resolver); app.MapSignalR(new HubConfiguration { Resolver = resolver }); } private static IDependencyResolver GetCustomResolver() { return new DefaultDependencyResolver(); } public static void TurnOfForeverFrame(IDependencyResolver resolver) { var transportManager = resolver.Resolve<ITransportManager>() as TransportManager; transportManager.Remove("foreverFrame"); } } }
回避策の影響: 回避策の適用後、Internet Explorer クライアントで、SignalR アプリケーションへの接続速度が遅くなる可能性があります。
Microsoft Visual Studio Team Foundation Server 2013 がインストールされたコンピューターの場合、マイクロソフトは回避策を確認していません。
よく寄せられる質問
この脆弱性により、どのようなことが起こる可能性がありますか?
これは、特権の昇格の脆弱性です。
何が原因で起こりますか?
この脆弱性は、ASP.NET SignalR がユーザー入力を正しくエンコードしない場合に生じます。
攻撃者は、この脆弱性を悪用して何を行う可能性がありますか?
Web 閲覧のシナリオでは、攻撃者が特別な細工が施された JavaScript を標的となったユーザーのブラウザーに反映し、それにより攻撃者はページ コンテンツの変更、フィッシング、標的となったユーザーになりすました操作を行う可能性があります。
攻撃者はこの 脆弱性をどのように悪用する可能性がありますか?
攻撃のシナリオでは、標的となったユーザーが使用できるリソースに攻撃者がアクセスできるように設計された悪意を持つ JavaScript が含まれている特別に細工されたコンテンツを攻撃者が標的となったユーザーのブラウザーに侵入させる可能性があります。
主にどのようなコンピューターがこの脆弱性による危険にさらされますか?
Web 閲覧のシナリオでこの脆弱性が悪用されるには、ユーザーがログオンし、ASP.NET SignalR をホストしている Web サイトにアクセスすることが攻撃者にとっての必要条件となります。このため、ワークステーションまたはターミナル サーバーなど、Web ブラウザーを頻繁に使用するコンピューターが、最もこの脆弱性の危険にさらされる可能性があります。管理者がユーザーにサーバー上での閲覧および電子メールの読み取りを許可している場合、影響を受ける可能性が増加します。しかし、最善策では、これを許可しないことを強く推奨しています。
この更新プログラムはどのように問題を修正しますか?
この更新プログラムは、ASP.NET SignalR にユーザー入力を正しくエンコードさせることにより、この脆弱性を解決します。
このセキュリティ情報のリリース時に、この脆弱性は一般に公開されていたのですか?
いいえ。マイクロソフトは協調的な脆弱性の公開を通して、この脆弱性に関する情報を受けました。
このセキュリティ情報のリリース時に、マイクロソフトはこの脆弱性が悪用されたという報告を受けていましたか?
いいえ。マイクロソフトは、このセキュリティ情報が最初に公開された際に、この脆弱性が一般で悪用され、お客様が攻撃されていたことを示す情報を受けていませんでした。
更新プログラムに関する情報
検出および展開ツールとガイダンス
管理者がセキュリティ更新プログラムを展開するときに役立つリソースがいくつかあります。
- Microsoft Baseline Security Analyzer (MBSA) を使用して、管理者はローカル システムとリモート システムの不足しているセキュリティ更新プログラムと一般的な誤ったセキュリティ構成をスキャンできます。
- Windows Server Update Services (WSUS)、Systems Management Server (SMS)、および System Center Configuration Manager は、管理者がセキュリティ更新プログラムを配布するときに役に立ちます。
- Application Compatibility Toolkit に含まれている Update Compatibility Evaluator コンポーネントは、インストールされているアプリケーションに対する Windows の更新プログラムのテストおよび確認を効率化する手助けをします。
利用可能なこれらのツールおよび他のツールの詳細については、「セキュリティ ツール」を参照してください。
セキュリティ更新プログラムの展開
影響を受けるソフトウェア
影響を受けるソフトウェア用の特定のセキュリティ更新プログラムについては、該当リンクの情報を参照してください。
ASP.NET SignalR (すべてのバージョン)
展開のシナリオに応じていくつかの更新オプションを利用できます。お客様のシナリオに最適なオプションを選択してください。
ASP.NET SignalR 対応 Web アプリケーションの開発者の場合
オプション 1: NuGet を使用して Visual Studio プロジェクト パッケージを更新し、アプリケーションを再コンパイルして、展開します。
- Visual Studio でソリューションを開きます。
- ソリューション エクスプローラーで、参照ノードを右クリックし、[NuGet パッケージの管理]をクリックします。
- [更新]タブを選択します。更新プログラムが含まれるパッケージの一覧が中央のウィンドウに表示されます。
- Microsoft.AspNet.SignalRパッケージを選択し、[更新]をクリックします。
- Web アプリケーションをコンパイルして展開します。
NuGet ダイアログを使用した NuGet パッケージの管理の詳細については、「Managing NuGet Packages Using the Dialog」(英語情報) を参照してください。
オプション 2: パッケージ マネージャー コンソールの UI を使用して Visual Studio プロジェクト パッケージを更新し、アプリケーションを再コンパイルして展開します。
- Visual Studio でソリューションを開きます。
- [ツール]メニューをクリックし、[ライブラリ パッケージ マネージャー]を選択して、[パッケージ マネージャー コンソール]をクリックします。
- パッケージ マネージャー ウィンドウで、「Update-Package Microsoft.AspNet.SignalR」と入力します。
- Web アプリケーションをコンパイルして展開します。
パッケージ マネージャー コンソールの使用方法の詳細については、「Package Manager Console」(英語情報) を参照してください。
システム管理者が ASP.NET SignalR 対応 Web アプリケーションを再コンパイルできない場合
管理者のコンピューターで ASP.NET SignalR を使用する
プロジェクトを更新して Web アプリケーションを展開する前にサーバーを保護するために、下の表に示すリンクを使用して更新プログラムをインストールします。これは、IT 管理者が ASP.NET SignalR を使用する展開済みのアプリケーションを更新できるまでの一時的な保護とお考えください。
更新プログラム ファイル SignalR-KB2903919.msi インストール スイッチ サポート技術情報 262841 を参照してください。 更新ログ ファイル 対象外 再起動の必要性 コンピューターを再起動する必要はありませんが、IIS が再起動されます。 削除に関する情報 [コントロール パネル]の [プログラムの追加と削除] を使用します。 ファイルに関する情報 サポート技術情報 2903919 を参照してください。
Microsoft Visual Studio Team Foundation Server 2013 (すべてのバージョン)
参照表
次の表では、このソフトウェア用のセキュリティ更新プログラムの情報を記載しています。
セキュリティ更新プログラムのファイル名 | Microsoft Visual Studio Team Foundation Server 2013: TFS2013-KB2903566.exe |
インストール スイッチ | サポート技術情報 262841 を参照してください。 |
更新ログ ファイル | 対象外 |
再起動の必要性 | ファイルが使用中の場合、この更新プログラムの適用後に再起動が必要なことがあります。 |
削除に関する情報 | [コントロール パネル]の [プログラムの追加と削除] を使用します。 |
ファイルに関する情報 | サポート技術情報 2903566 を参照してください。 |
レジストリ キーの確認 | Microsoft Visual Studio Team Foundation Server 2013: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\DevDiv\tfs\Servicing\12.0 |
関連情報
Microsoft Active Protections Program (MAPP)
お客様のセキュリティ保護をより向上させるために、マイクロソフトは、月例のセキュリティ更新プログラムの公開に先立ち、脆弱性情報を主要なセキュリティ ソフトウェア プロバイダーに提供しています。セキュリティ ソフトウェア プロバイダーは、この脆弱性の情報を使用し、ウイルス対策、ネットワーク ベースの侵入検出システムまたはホスト ベースの侵入防止システムを介して、お客様に最新の保護環境を提供します。このような保護環境を提供するセキュリティ ソフトウェア ベンダーの情報については、Microsoft Active Protections Program (MAPP) パートナーに記載されている各社の Web サイトを参照してください。
サポート
このセキュリティ更新プログラムに関するヘルプとサポートを受ける方法
- 更新プログラムのインストールのヘルプ:Microsoft Update のサポート
- IT プロフェッショナル向けのセキュリティ ソリューション:TechNet セキュリティに関するトラブルシューティングとサポート
- Windows を実行しているコンピューターのウイルスおよびマルウェアからの保護のヘルプ:ウイルスとセキュリティ サポート ページ
- 国ごとのローカルサポート:Microsoft サポート
免責
この文書に含まれている情報は、いかなる保証もない現状ベースで提供されるものです。Microsoft Corporation 及びその関連会社は、市場性および特定の目的への適合性を含めて、明示的にも黙示的にも、一切の保証をいたしません。さらに、Microsoft Corporation 及びその関連会社は、本文書に含まれている情報の使用及び使用結果につき、正確性、真実性等、いかなる表明・保証も行いません。Microsoft Corporation、その関連会社及びこれらの権限ある代理人による口頭または書面による一切の情報提供またはアドバイスは、保証を意味するものではなく、かつ上記免責条項の範囲を狭めるものではありません。Microsoft Corporation、その関連会社及びこれらの者の供給者は、直接的、間接的、偶発的、結果的損害、逸失利益、懲罰的損害、または特別損害を含む全ての損害に対して、状況のいかんを問わず一切責任を負いません。結果的損害または偶発的損害に対する責任の免除または制限を認めていない地域においては、上記制限が適用されない場合があります。
更新履歴
- V1.0 (2013/12/11):このセキュリティ情報ページを公開しました。
Built at 2014-04-18T01:50:00Z-07:00