マイクロソフト セキュリティ情報 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)
特権の昇格 重要 なし
[1]ASP.NETSignalR 機能をサポートする Web アプリケーションをホストする Windows サーバーに適用されます。この更新プログラムは、ダウンロードのみで入手可能であり、バージョン 1.1.0、1.1.1、1.1.2、1.1.3、およびバージョン 2.0.0 をサポートされる最新バージョン (この資料の時点ではそれぞれ 1.1.4 および 2.0.1) に更新します。詳細については、このセキュリティ情報の「セキュリティ更新プログラムの展開」を参照してください。    影響を受けないソフトウェア | ソフトウェアおよびオペレーティング システム | |--------------------------------------------------------------------| | ASP.NET SignalR 1.0.0 | | ASP.NET SignalR 1.0.1 | | Microsoft Visual Studio .NET 2003 Service Pack 1 | | Microsoft Visual Studio 2005 Service Pack 1 | | Microsoft Visual Studio Team Foundation Server 2005 Service Pack 1 | | Microsoft Visual Studio 2008 Service Pack 1 | | Microsoft Visual Studio Team Foundation Server 2008 Service Pack 1 | | Microsoft Visual Studio 2010 Service Pack 1 | | Microsoft Visual Studio Team Foundation Server 2010 Service Pack 1 | | Microsoft Visual Studio LightSwitch 2011 | | Microsoft Visual Studio 2012 | | Microsoft Visual Studio Team Foundation Server 2012 | 更新プログラムに関する FAQ -------------------------- ASP.NET SignalR とは何ですか?   ASP.NET SignalR は、リアルタイム Web 機能の開発を簡素化する ASP.NET 開発者向けのライブラリです。ASP.NET SignalR を使用すると、サーバーとクライアント間で JavaScript を使用した双方向コミュニケーションが可能になり、サーバーが利用可能になったコンテンツを直ちに接続されているクライアントにプッシュできるようになります (プッシュ機能)。ASP.NET SignalR の詳細については、[Learn About ASP.NET SignalR](https://www.asp.net/signalr)」(英語情報) を参照してください。 コンピューターにインストールされている ASP.NET SignalR のバージョンはどのように 確認できますか?  コンピューターにインストールされている ASP.NET SignalR のバージョンを確認するには、最初にハードディスク ドライブで "SignalR" を検索します。検索で返された Microsoft.AspNet.SignalR.Core.dll ファイルのプロパティを表示してバージョン番号を確認します。1.1.4 より古いすべての 1.1.x バージョンは、脆弱であるため更新する必要があります。2.0.1 より古いすべての 2.0.x バージョンは、脆弱であるため更新する必要があります。1.0.x バージョンはすべて脆弱ではありません。 ASP.NET SignalR のバージョンのアップグレード方法を教えてください。   Visual Studio Team Foundation Server 2013 と共にインストールされている ASP.NET SignalR のインスタンスは、Microsoft Update を使用して更新されます。ただし、開発者のシステムおよび Web アプリケーション サーバー上に存在する他の ASP.NET SignalR のインスタンスは、このセキュリティ情報の「セキュリティ更新プログラムの展開」セクションに記載された処理を使用して更新する必要があります。 この更新プログラムはユーザーが使用している ASP.NET SignalR のバージョンをアップグレードしますか?   いいえ。この更新プログラムは、コンピューターにインストールされている修正プログラム バージョンを更新しますが、メジャー バージョンまたはマイナー バージョンはアップグレードされません。このセキュリティ情報のリリース時点で、ASP.NET SignalR の 2 つのメジャー バージョン (バージョン 1.1.x と 2.0.x) がサポートされています。この更新プログラムは、1.1.x バージョンを 1.1.4 に更新し、2.0.x バージョンを 2.0.1 に更新します。 このセキュリティ情報で 説明しているソフトウェアの旧バージョンを使用しています。どうすればよいですか?  このセキュリティ情報の一覧の影響を受けるソフトウェアのテストを行い、影響を受けるリリースを確認しました。その他のリリースは、サポート ライフサイクルが終了しました。製品のライフサイクルに関する詳細については、[マイクロソフト サポート ライフサイクル](https://go.microsoft.com/fwlink/?linkid=21742)の Web サイトを参照してください。 今後、脆弱性の影響を受けないようにするため、旧リリースのソフトウェアを使用しているお客様は、サポート対象のリリースに移行することを強く推奨します。使用するソフトウェアのサポート ライフサイクルを確認するには、[サービスパック ライフサイクル ポリシー](https://go.microsoft.com/fwlink/?linkid=169555)を参照してください。これらのソフトウェアのリリースのサービス パックの詳細については、[サービスパック ライフサイクル ポリシー](https://go.microsoft.com/fwlink/?linkid=89213)を参照してください。 以前のソフトウェアに関するカスタム サポートが必要なお客様は、担当営業、またはマイクロソフト アカウント チームの担当者、担当テクニカル アカウント マネージャー (TAM)、またはカスタム サポート オプションのマイクロソフト パートナー担当者までご連絡ください。プレミア契約をお持ちでないお客様は、マイクロソフト サポート契約センター (営業時間 9:30-12:00 13:00-19:00 土日祝祭日を除く TEL:0120-17-0196 FAX:03-5388-8253) までお問い合わせください。連絡先の情報は、[Microsoft Worldwide Information](https://go.microsoft.com/fwlink/?linkid=33329) Web サイトの Contact Information のプルダウン リストから国を選択し、\[Go\] ボタンをクリックすると、連絡先の電話番号が表示されます。お問い合わせの際、お住まいの地域のプレミア サポート営業担当にご連絡ください。詳細については、[マイクロソフト サポート ライフサイクル ポリシー FAQ](https://go.microsoft.com/fwlink/?linkid=169557) を参照してください。 ### 脆弱性の情報 深刻度および脆弱性識別番号 -------------------------- 次の深刻度の評価は、脆弱性の影響が最も深刻な場合を想定しています。深刻度の評価およびセキュリティ上の影響に関連して、このセキュリティ情報の公開から 30 日間でこの脆弱性が悪用される可能性に関する情報については、[12 月のセキュリティ情報の概要](https://technet.microsoft.com/ja-jp/security/bulletin/ms13-dec)の Exploitability Index (悪用可能性指標) を参照してください。詳細については、[Microsoft Exploitability Index](https://technet.microsoft.com/ja-jp/security/cc998259) (悪用可能性指標) を参照してください。

影響を受けるソフトウェアごとの脆弱性の深刻度および最大のセキュリティ上の影響
影響を受けるソフトウェア 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 プロジェクト パッケージを更新し、アプリケーションを再コンパイルして、展開します。

    1. Visual Studio でソリューションを開きます。
    2. ソリューション エクスプローラーで、参照ノードを右クリックし、[NuGet パッケージの管理]をクリックします。
    3. [更新]タブを選択します。更新プログラムが含まれるパッケージの一覧が中央のウィンドウに表示されます。
    4. Microsoft.AspNet.SignalRパッケージを選択し、[更新]をクリックします。
    5. Web アプリケーションをコンパイルして展開します。

    NuGet ダイアログを使用した NuGet パッケージの管理の詳細については、「Managing NuGet Packages Using the Dialog」(英語情報) を参照してください。

  • オプション 2: パッケージ マネージャー コンソールの UI を使用して Visual Studio プロジェクト パッケージを更新し、アプリケーションを再コンパイルして展開します。

    1. Visual Studio でソリューションを開きます。
    2. [ツール]メニューをクリックし、[ライブラリ パッケージ マネージャー]を選択して、[パッケージ マネージャー コンソール]をクリックします。
    3. パッケージ マネージャー ウィンドウで、「Update-Package Microsoft.AspNet.SignalR」と入力します。
    4. 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 Corporation 及びその関連会社は、市場性および特定の目的への適合性を含めて、明示的にも黙示的にも、一切の保証をいたしません。さらに、Microsoft Corporation 及びその関連会社は、本文書に含まれている情報の使用及び使用結果につき、正確性、真実性等、いかなる表明・保証も行いません。Microsoft Corporation、その関連会社及びこれらの権限ある代理人による口頭または書面による一切の情報提供またはアドバイスは、保証を意味するものではなく、かつ上記免責条項の範囲を狭めるものではありません。Microsoft Corporation、その関連会社及びこれらの者の供給者は、直接的、間接的、偶発的、結果的損害、逸失利益、懲罰的損害、または特別損害を含む全ての損害に対して、状況のいかんを問わず一切責任を負いません。結果的損害または偶発的損害に対する責任の免除または制限を認めていない地域においては、上記制限が適用されない場合があります。

更新履歴

  • V1.0 (2013/12/11):このセキュリティ情報ページを公開しました。

Built at 2014-04-18T01:50:00Z-07:00