セキュリティ情報

Microsoft セキュリティ情報 MS13-103 - 重要

ASP.NET SignalR の脆弱性により、特権が昇格される (2905244)

公開日: 2013 年 12 月 10 日

バージョン: 1.0

一般情報

概要

このセキュリティ更新プログラムは、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 アプリケーションを開発しているお客様は、このセキュリティ情報の「Security UpdateDeployment」セクションの更新ガイダンスに従って、環境で SignalR ASP.NET 更新する方法の詳細な手順に従うことをお勧めします。

Microsoft Visual Studio Team Foundation Server2013 のインストールを実行しているお客様:
自動更新が有効になっていて、Microsoft Visual Studio Team Foundation Server 2013 を実行しているお客様は、更新プログラムが自動的にダウンロードされてインストールされます。 自動更新を有効にしていないお客様は、更新プログラムをチェックし、この更新プログラムを手動でインストールする必要があります。 自動更新の特定の構成オプションについては、マイクロソフト サポート技術情報の記事294871を参照してください

管理者と企業のインストール、またはこのセキュリティ更新プログラムを手動でインストールするエンド ユーザーの場合は、更新管理ソフトウェアを使用するか、Microsoft Update サービスを使用して更新プログラムをチェックして、できるだけ早い機会に更新プログラムを適用することをお勧めします。

このセキュリティ情報の後半の「検出と展開のツールとガイダンス」セクションも参照してください。

サポート技術情報の記事

サポート技術情報の記事 2905244
ファイル情報 はい
SHA1/SHA2 ハッシュ はい
既知の問題 なし

影響を受けるソフトウェアと影響を受けないもの

次のソフトウェアは、影響を受けるバージョンまたはエディションを特定するためにテストされています。 その他のバージョンまたはエディションは、サポート ライフサイクルを過ぎたか、影響を受けません。 ソフトウェアのバージョンまたはエディションのサポート ライフサイクルを確認するには、「Microsoft サポート ライフサイクル」を参照してください

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

開発者ツール セキュリティへの影響の最大値 重大度の評価の集計 更新置換済み
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.NET SignalR 機能をサポートする 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 を介してサーバーとクライアント間の双方向通信が可能になり、サーバーは接続されたクライアントが使用可能になるとすぐにコンテンツをプッシュできます (プッシュ機能)。 SignalR ASP.NET の詳細については、「SignalR の ASP.NET について」を参照してください

操作方法は、どのバージョンを決定します。ASP.NET SignalRareがシステムにインストールされていますか? 
システムにデプロイされている 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 に更新します。

このセキュリティ情報で説明されているソフトウェアの以前のリリースを使用しています。どうしたらいいでしょう。 
このセキュリティ情報に記載されている影響を受けるソフトウェアは、影響を受けるリリースを特定するためにテストされています。 他のリリースはサポート ライフサイクルを過ぎている。 製品ライフサイクルの詳細については、Microsoft サポート ライフサイクル Web サイトを参照してください。

ソフトウェアの古いリリースをお持ちのお客様は、脆弱性にさらされる可能性を防ぐために、サポートされているリリースに移行することが優先されます。 ソフトウェア リリースのサポート ライフサイクルを決定するには、「ライフサイクル情報の製品を選択する」を参照してください。 これらのソフトウェア リリースのサービス パックの詳細については、「Service Pack ライフサイクル サポート ポリシー」を参照してください

古いソフトウェアのカスタム サポートを必要とするお客様は、カスタム サポート オプションについて、Microsoft アカウント チームの担当者、テクニカル アカウント マネージャー、または適切な Microsoft パートナー担当者にお問い合わせください。 アライアンス、プレミア、または承認された契約を持たないお客様は、お住まいの地域の Microsoft 営業所にお問い合わせください。 連絡先情報については、Microsoft Worldwide Information Web サイトを参照し、[連絡先情報] リストで国を選択し、[移動] をクリックして電話番号の一覧を表示します。 お電話の際は、地元の Premier サポートセールスマネージャーにお問い合わせください。 詳細については、Microsoft サポート ライフサイクル ポリシーに関する FAQ を参照してください

脆弱性情報

重大度の評価と脆弱性識別子

次の重大度評価は、脆弱性の潜在的な最大影響を想定しています。 このセキュリティ情報のリリースから 30 日以内に、脆弱性の重大度評価とセキュリティへの影響に関連する脆弱性の悪用可能性の可能性については、12 月のセキュリティ情報の概要にある Exploitability Index を参照してください。 詳細については、「Microsoft Exploitability Index」を参照してください

影響を受けるソフトウェア 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 に特権の昇格の脆弱性が存在し、攻撃者が対象ユーザーのコンテキストでリソースにアクセスする可能性があります。

この脆弱性を一般的な脆弱性と露出の一覧の標準エントリとして表示するには、CVE-2013-5042 を参照してください

軽減要因

Microsoft は、この脆弱性の軽減要因を特定していません。

対処方法

回避策とは、基になる脆弱性を修正しないが、更新プログラムを適用する前に既知の攻撃ベクトルをブロックするのに役立つ設定または構成の変更を指します。 Microsoft は、回避策によって機能が低下するかどうかを説明する中で、次の回避策と状態をテストしました。

  • ASP.NET SignalR 機能を使用して Web アプリケーションホストする Windows サーバーの場合、ASP.NET SignalRForever Frameトランスポートプロトコルをオフにすると、この脆弱性から一時的に保護されます。

    クライアント側とサーバー側で ASP.NET SignalR Forever Frame トランスポート プロトコルを無効にすることは、コードで実現されます。 環境内でプロトコルを無効にするためのガイダンスとして、次の例を参照してください。

    クライアント側から影響を受けるトランスポートを無効にするコード例:

    // If using the default hub connection
    $.connection.hub.start({ transport: ["webSockets", "serverSentEvents", "longPolling"] });
    
    // If using a manually-created connection
    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)
            {
                // If using the global dependency resolver
                TurnOfForeverFrame(GlobalHost.DependencyResolver);
                app.MapSignalR();
            }
            public static void TurnOfForeverFrame(IDependencyResolver resolver)
            {
                var transportManager = resolver.Resolve<itransportmanager>() as TransportManager;
                transportManager.Remove("foreverFrame");
            }
        }
    }
    
    
    Code example to disable the affected transport on the server side when using a custom dependency resolver:
    
    using Microsoft.AspNet.SignalR;
    using Microsoft.AspNet.SignalR.Transports;
    using Owin;
    namespace MyApplication
    {
        public static class Startup
        {
            public static void ConfigureSignalR(IAppBuilder app)
            {
                // If using a custom dependency resolver
                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><itransportmanager>() as TransportManager;
                transportManager.Remove("foreverFrame");
            }
        }
    }
    

    回避策の影響。 回避策を実装した後、クライアントエクスプローラー SignalR アプリケーションへの通信速度が遅くなる可能性があります。

  • Microsoft Visual Studio Team Foundation Server 2013 がインストールされているシステムの場合、Microsoft は回避策を特定していません。

よく寄せられる質問

この脆弱性の範囲は何ですか?
これは特権の昇格の脆弱性です。

この脆弱性の原因は何ですか?
この脆弱性は、ASP.NET SignalR がユーザー入力を不適切にエンコードした場合に発生します。

攻撃者はこの脆弱性を使用して何を行う可能性がありますか?
Web 閲覧のシナリオでは、攻撃者が特別に細工された JavaScript をユーザーのブラウザーに反映する可能性があります。これにより、攻撃者はページ コンテンツの変更、フィッシング詐欺の実行、または対象ユーザーの代わりにアクションを実行することができます。

攻撃者がこの脆弱性を悪用する方法
攻撃シナリオでは、攻撃者は、対象ユーザーが利用できるリソースへのアクセス権を攻撃者に与えるために設計された悪意のある JavaScript を含む、特別に細工されたコンテンツを対象ユーザーのブラウザーに導入する可能性があります。

どのシステムが主に脆弱性のリスクにさらされていますか?
Web 閲覧シナリオでは、この脆弱性が悪用された場合、ユーザーがログオンし、SignalR ASP.NET ホストしている Web サイトにアクセスする必要があります。 したがって、ワークステーションやターミナル サーバーなど、Web ブラウザーが頻繁に使用されるシステムは、この脆弱性のリスクが最も高まります。 管理者がユーザーがサーバー上の電子メールを参照および読み取ることを許可すると、サーバーのリスクが高くなります。 ただし、ベスト プラクティスではこれを許可しないことを強くお勧めします。

更新プログラムは何を行いますか?
この更新プログラムは、ASP.NET SignalR がユーザー入力を適切にエンコードすることを確認することで、この脆弱性を解決します。

このセキュリティ情報が発行されたとき、この脆弱性は一般に公開されていましたか?
いいえ。 Microsoft は、調整された脆弱性の開示を通じて、この脆弱性に関する情報を受け取りました。

このセキュリティ情報が発行されたとき、Microsoft はこの脆弱性が悪用されたという報告を受け取りましたか?
いいえ。 マイクロソフトは、このセキュリティ情報が最初に発行されたときに、この脆弱性が顧客を攻撃するために一般に使用されたことを示す情報を受け取っていませんでした。

情報の更新

検出と展開のツールとガイダンス

管理者がセキュリティ更新プログラムをデプロイするのに役立つリソースがいくつかあります。 

  • Microsoft Baseline Security Analyzer (MB (メガバイト)SA) を使用すると、管理者はローカル システムとリモート システムをスキャンして、不足しているセキュリティ更新プログラムや一般的なセキュリティ構成の誤りを確認できます。 
  • Windows Server Update Services (WSUS)、Systems Management Server (SMS)、System Center Configuration Manager は、管理者がセキュリティ更新プログラムを配布するのに役立ちます。 
  • Application Compatibility Toolkit に含まれる Update Compatibility Evaluator コンポーネントは、インストールされているアプリケーションに対する Windows 更新プログラムのテストと検証を合理化する上で役立ちます。 

これらのツールと使用可能なその他のツールの詳細については、「IT 担当者向けのセキュリティ ツール」を参照してください。 

セキュリティ更新プログラムの展開

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

影響を受けるソフトウェアの特定のセキュリティ更新プログラムの詳細については、適切なリンクをクリックしてください。

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 パッケージの管理の詳細については、「ダイアログを使用した NuGet パッケージの管理」を参照してください

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

    1. Visual Studio でソリューションを開きます。
    2. [ツール] メニューをクリックし、[ライブラリ パッケージ マネージャー] を選択し、[コンソールパッケージ マネージャークリックします
    3. パッケージ マネージャー ウィンドウで、「Update-Package Microsoft.AspNet.SignalR」と入力します。
    4. Web アプリケーションをコンパイルしてデプロイします。

    パッケージ マネージャー コンソールの使用方法の詳細については、「パッケージ マネージャー コンソールの使用」を参照してください

SignalR 対応 Web アプリケーション ASP.NET 再コンパイルできないシステム管理者の場合

  • 管理者システム ASP.NET SignalR を更新する

    プロジェクトを更新して Web アプリケーションを再デプロイする前にサーバーを保護するには、次の表に示すリンクを使用して更新プログラムをインストールします。 これは、ASP.NET SignalR を使用するデプロイ済みアプリケーションを更新できるようになるまで、IT 管理者にとって暫定的な保護と見なす必要があります。

    ファイルを更新する SignalR-KB (キロバイト)2903919.msi
    インストール スイッチ Microsoft サポート技術情報の記事262841を参照してください
    ログ ファイルを更新する 適用なし
    再起動の要件 システムの再起動は必要ありません。ただし、IIS は再起動します。
    削除情報 コントロール パネルで [プログラムの追加と削除] を使用します。
    ファイル情報 Microsoft サポート技術情報の記事2903919を参照してください

Microsoft Visual Studio Team Foundation Server 2013 (すべてのバージョン)

参照テーブル

次の表に、このソフトウェアのセキュリティ更新プログラムの情報を示します。

セキュリティ更新プログラムのファイル名 Microsoft Visual Studio Team Foundation Server 2013:\ TFS2013-KB (キロバイト)2903566.exeの場合
インストール スイッチ Microsoft サポート技術情報の記事262841を参照してください
ログ ファイルを更新する 適用なし
再起動の要件 この更新プログラムでは、ファイルが使用中の場合は再起動が必要になる場合があります。
削除情報 コントロール パネルで [プログラムの追加と削除] を使用します。
ファイル情報 Microsoft サポート技術情報の記事2903566を参照してください
レジストリ キーの検証 Microsoft Visual Studio Team Foundation Server 2013:\ HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\DevDiv\tfs\Servicing\12.0 の場合

その他の情報

Microsoft Active Protections Program (MAPP)

お客様のセキュリティ保護を強化するために、Microsoft は、毎月のセキュリティ更新プログラムのリリースの前に、主要なセキュリティ ソフトウェア プロバイダーに脆弱性情報を提供します。 セキュリティ ソフトウェア プロバイダーは、この脆弱性情報を使用して、ウイルス対策、ネットワークベースの侵入検出システム、ホストベースの侵入防止システムなどのセキュリティ ソフトウェアまたはデバイスを介して、お客様に更新された保護を提供できます。 セキュリティ ソフトウェア プロバイダーからアクティブな保護を利用できるかどうかを判断するには、Microsoft Active Protections Program (MAPP) パートナーに記載されているプログラム パートナーによって提供されるアクティブな保護 Web サイトに移動してください。

サポート

このセキュリティ更新プログラムのヘルプとサポートを取得する方法

免責情報

Microsoft サポート技術情報で提供される情報は、いかなる種類の保証もなく"現状のまま" 提供されます。 Microsoft は、商品性と特定の目的に対する適合性の保証を含め、明示または黙示を問わず、すべての保証を放棄します。 Microsoft Corporation またはそのサプライヤーは、Microsoft Corporation またはそのサプライヤーがこのような損害の可能性について通知された場合でも、直接的、間接的、付随的、派生的、ビジネス上の利益の損失、または特別な損害を含む一切の損害について一切の責任を負いません。 一部の州では、派生的損害または付随的損害に対する責任の除外または制限が認められていないため、前述の制限は適用されない場合があります。

リビジョン

  • V1.0 (2013 年 12 月 10 日): セキュリティ情報が公開されました。

ビルド日: 2014-04-18T13:49:36Z-07:00