Critical
Critical
日本語による情報は、英語による原文の非公式な翻訳であり、英語原文との間で内容の齟齬がある場合には、英語原文が優先します。
概要
Cisco IOS XE ソフトウェア用の Cisco REST API 仮想サービス コンテナにおける脆弱性により、認証されていないリモート攻撃者が、管理対象の Cisco IOS XE デバイスで認証をバイパスできる可能性があります。
この脆弱性は、REST API 認証サービスを管理するコードの領域によって実行される不適切なチェックに起因します。攻撃者は、悪意のある HTTP 要求をターゲット デバイスに送信することにより、この脆弱性をエクスプロイトする可能性があります。エクスプロイトに成功すると、攻撃者は、認証されたユーザのトークン ID を取得できる可能性があります。このトークン ID を使用すると、認証をバイパスし、当該 Cisco IOS XE デバイス上の REST API 仮想サービス コンテナのインターフェイスを介して特権アクションを実行できます。
REST API インターフェイスは、デフォルトでは有効になっていないため、IOS XE デバイスに個別にインストールしてアクティブにする必要があります。詳細については、「詳細」セクションを参照してください。
シスコはこの脆弱性に対処するソフトウェアアップデートをリリースしています。この脆弱性に対処する回避策はありません。
このアドバイザリは、次のリンクより確認できます。
https://sec.cloudapps.cisco.com/security/center/content/CiscoSecurityAdvisory/cisco-sa-20190828-iosxe-rest-auth-bypass
該当製品
この脆弱性は、脆弱なバージョンの Cisco REST API 仮想サービス コンテナを使用するように設定されたシスコ デバイスに影響します。公開時点では、この脆弱性が次の製品に影響していました。
- Cisco 4000 シリーズ サービス統合型ルータ
- Cisco ASR 1000 シリーズ アグリゲーション サービス ルータ
- シスコ クラウド サービス ルータ 1000V シリーズ
- シスコ サービス統合型仮想ルータ
脆弱性のある製品
この脆弱性はCisco REST API仮想サービスコンテナに存在しますが、不正利用されるとCisco IOS XEソフトウェアを実行しているデバイスに影響を与えます。Cisco REST API 仮想サービス コンテナの脆弱なリリースが有効になっている場合、基盤となる Cisco IOS XE デバイスが影響を受けます。
この脆弱性は、次のすべての条件が満たされている場合にシスコ デバイスに影響します。
- 影響を受ける Cisco IOS XE ソフトウェア リリースをデバイスが実行している。
- 影響を受けるバージョンの Cisco REST API 仮想サービス コンテナがデバイスにインストールされており、有効になっている。
シスコでは、この問題が修正されたバージョンの REST API 仮想サービス コンテナをすでにリリースしています。また、デバイスでの脆弱なコンテナのインストールまたはアクティブ化を防止するように改良された Cisco IOS XE ソフトウェアもリリースしています。デバイスで脆弱なコンテナがすでにアクティブになっている場合、IOS XE ソフトウェアをアップグレードすると、そのコンテナが非アクティブ化され、デバイスの脆弱性が解消されます。その場合、REST API 機能を復元するには、Cisco REST API 仮想サービス コンテナを、問題が修正されたソフトウェア リリースにアップグレードする必要があります。
デバイスで Cisco REST API 仮想サービス コンテナが有効になっているかどうかを確認する
デバイスで Cisco REST API サービス コンテナが有効になっているかどうかを確認するために、管理者は、show virtual-service detail | include Restful 特権 EXEC コマンドを使用し、コマンドの出力を参照することができます。次の例は、REST API 管理が有効になっているデバイスのコマンドの出力を示しています。
router#show virtual-service detail | include Restful
Restful API Enabled, UP port: 55443
このコマンドが存在しない場合、空白の出力が生成される場合、または「Enabled, UP」という文字列がない場合、デバイスはこのアドバイザリで説明されている脆弱性の影響を受けません。
影響を受ける Cisco REST API 仮想サービス コンテナ リリースをデバイスが使用しているかどうかを確認する
Cisco REST API 仮想サービス コンテナの名前とソフトウェア バージョンを確認するために、管理者は、show virtual-service version installed 特権 EXEC コマンドを使用できます。
次の例は、Cisco REST API 仮想サービス コンテナがインストールされているデバイスのコマンドの出力を示しています。
router#show virtual-service version installed Virtual service csr_mgmt installed version: Name: csr_mgmt Version: 16.09.03
このコマンドの出力に、次の表に示されている仮想サービスの名前 とバージョンの組み合わせがある場合、デバイスは脆弱な REST API 仮想サービス コンテナを使用しています。
次の表に、このアドバイザリで説明されている脆弱性の影響を受ける Cisco REST API 仮想サービス コンテナの名前とソフトウェア バージョンの組み合わせを示します。
[名前(Name)] | バージョン |
---|---|
mgmt | 1.4.1 |
mgmt | 1.5.1 |
mgmt | 1.6.1 |
mgmt | 1.7.1 |
mgmt | 1.7.2 |
mgmt | 1.8.1 |
mgmt | 162.1 |
mgmt | 99.99.99 |
csr_mgmt | 03.16.03 |
csr_mgmt | 03.16.04 |
csr_mgmt | 1.0.0 |
csr_mgmt | 1.2.1 |
csr_mgmt | 1.3.1 |
csr_mgmt | 1.4.1 |
csr_mgmt | 1.5.1 |
csr_mgmt | 1.6.1 |
csr_mgmt | 1.7.1 |
csr_mgmt | 1.8.1 |
csr_mgmt | 99.99.99 |
csr_mgmt | 2017.6 |
csr_mgmt | 2017.10 |
csr_mgmt | 162.1 |
csr_mgmt | 163.1 |
脆弱性を含んでいないことが確認された製品
このアドバイザリの脆弱性のある製品セクションに記載されている製品のみが、この脆弱性の影響を受けることが分かっています。
シスコは、この脆弱性が Cisco IOS ソフトウェア、Cisco IOS XR ソフトウェア、および Cisco NX-OS ソフトウェアには影響を与えないことを確認しました。
詳細
Cisco REST API は、仮想サービス コンテナで実行されるアプリケーションです。仮想サービス コンテナは、デバイス上の仮想化環境であり、オープン仮想アプリケーション(OVA)(「.ova」という拡張子を持つ tar ファイル)として提供されます。OVA パッケージは、デバイス仮想化マネージャ(VMAN)CLI を介してデバイスにインストールし、有効にする必要があります。
Cisco REST API は、一連の RESTful API を、選択した機能をシスコ デバイスにプロビジョニングするための代替手段として Cisco IOS XE CLI に提供します。REST API インターフェイスは、デフォルトでは有効になっていません。
この脆弱性は、次の条件が満たされるとエクスプロイトされる可能性があります。
- 影響を受ける Cisco IOS XE ソフトウェア リリースをデバイスが実行している。
- 影響を受けるバージョンの Cisco REST API 仮想サービス コンテナがデバイスにインストールされており、有効になっている。
- 管理者クレデンシャル(レベル 15)を持つ許可されたユーザが、REST API インターフェイスに対して認証される。
16.7.1 より前の Cisco IOS XE ソフトウェア リリースでは、Cisco REST API OVA パッケージを Cisco IO XE ソフトウェアイメージ内にバンドルし、インストール時またはアップグレード時にデバイス ストレージ メモリに含めることができます。ただし、脆弱な OVA パッケージが存在しているとデバイスが脆弱になるわけではありません。脆弱になるのは、仮想サービス コンテナがインストールされ、アクティブ化されている場合です。デバイス ストレージ メモリから OVA パッケージを削除すると、攻撃ベクトルが排除されます。Cisco REST API 仮想サービス コンテナが有効になっていない場合、この操作は、デバイスの通常の動作条件には影響しません。
回避策
この脆弱性に対処する回避策はありません。
Cisco IOS デバイスの強化ガイドにデバイスを強化して管理アクセスのセキュリティを確保する方法が記載されています。管理者は、アクセス コントロール リスト(ACL)を設定して、信頼されたネットワークへの REST API インターフェイスへのアクセスを制限できます。この措置により、この脆弱性を悪用されるリスクが制限されます。REST APIインターフェイスに関連付けられたIPアドレスとTCPポートを取得するために、管理者はshow virtual-service details CLIコマンドを使用できますを参照。
修正済みソフトウェア
シスコはこのアドバイザリに記載された脆弱性に対処する無償のソフトウェアアップデートをリリースしています。お客様がインストールしたりサポートを受けたりできるのは、ライセンスをご購入いただいたソフトウェア バージョンとフィーチャ セットに対してのみとなります。そのようなソフトウェアアップグレードをインストール、ダウンロード、アクセスまたはその他の方法で使用した場合、お客様は以下のリンクに記載されたシスコのソフトウェアライセンスの条項に従うことに同意したことになります。
https://www.cisco.com/c/en/us/products/end-user-license-agreement.html
また、お客様がソフトウェアをダウンロードできるのは、ソフトウェアの有効なライセンスをシスコから直接、あるいはシスコ認定リセラーやパートナーから取得している場合に限ります。通常、これは以前購入したソフトウェアのメンテナンス アップグレードです。無償のセキュリティ ソフトウェア アップデートによって、お客様に新しいソフトウェア ライセンス、追加ソフトウェア フィーチャ セット、またはメジャー リビジョン アップグレードに対する権限が付与されることはありません。
ソフトウェアのアップグレードを検討する際には、[シスコのセキュリティアドバイザリおよびアラート(Cisco Security Advisories and Alerts)] ページで入手できるシスコ製品のアドバイザリを定期的に参照して、侵害を受ける可能性と完全なアップグレード ソリューションを確認してください。
いずれの場合も、アップグレードするデバイスに十分なメモリがあること、および現在のハードウェアとソフトウェアの構成が新規リリースで引き続き正しくサポートされていることを十分に確認してください。不明な点については、Cisco Technical Assistance Center(TAC)もしくは契約しているメンテナンスプロバイダーにお問い合わせください。
サービス契約をご利用でないお客様
シスコから直接購入したが Cisco Service Contract をご利用いただいていない場合、また、サードパーティベンダーから購入したが修正済みソフトウェアを POS から入手できない場合は、Cisco TAC に連絡してアップグレードを入手してください。
https://www.cisco.com/c/en/us/support/web/tsd-cisco-worldwide-contacts.html
無償アップグレードの対象製品であることを証明していただくために、製品のシリアル番号と、本アドバイザリの URL をご用意ください。
修正済みリリース
シスコでは、この脆弱性に対処するために、次の REST API 仮想サービス コンテナをリリースしています。
iosxe-remote-mgmt.16.09.03.ova
また、シスコでは、オプションの改良された IOS XE ソフトウェアもリリースしました。
影響を受けるお客様は、REST API 仮想サービス コンテナと Cisco IOS XE ソフトウェアの両方をアップグレードすることをお勧めします。
Cisco REST API 仮想サービス コンテナを修正済みのリリースにアップグレードするには、Cisco.com の Software Center から修正済みの OVA パッケージをダウンロードし、次の 7 つの手順を実行します。
- CLI で copy from://source-directory-url destination-directory-url コマンドを入力して、アップグレード用の新しい OVA パッケージをデバイスにダウンロードします。
- virtual-service virtual-services-name コマンドをグローバル コンフィギュレーション モードで使用して、仮想サービス コンフィギュレーション モードを開始し、指定された仮想サービス コンテナを設定します。
次の例は、「csr_mgmt」という名前の仮想サービス コンテナに関して仮想サービス コンフィギュレーション モードを開始するために使用される CLI コマンドを示しています。
router(config)# virtual-service csr_mgmt
注:virtual-services-nameは、仮想サービスコンテナのインストール時に定義されます。REST API サービスのユーザ定義の仮想サービス名は、REST API 仮想サービス コンテナ名と異なる場合があります。管理者は、show virtual-service version installed CLI コマンドを使用してユーザ定義の仮想サービス名を決定できます。
- no activate コマンドをグローバル コンフィギュレーション モードで使用して、REST API 仮想サービス コンテナを無効にします。
- end コマンドを使用して仮想サービス コンフィギュレーション モードを終了し、特権 EXEC モードを開始します。
- virtual-service upgrade name virtual-services-name package file CLI コマンドを使用して、指定された OVA ファイルによって REST API 仮想サービス コンテナをアップグレードします。
- virtual-service virtual-services-name コマンドをグローバル コンフィギュレーション モードで使用して、仮想サービス コンフィギュレーション モードを開始し、指定された仮想サービス コンテナを設定します。
- activate コマンドをグローバル コンフィギュレーション モードで使用して、REST API 仮想コンテナを有効にします。
次の例は、tftp サーバからデバイス ストレージに OVA パッケージをダウンロードするために使用される CLI コマンドを示しています。
router# copy tftp://myserver.com/downloads/iosxe-remote-mgmt.16.09.03.ova bootflash:/iosxe-remote-mgmt.16.09.03.ova
router(config-virt-serv)# no activate
router(config-virt-serv)# end
次の例は、「iosxe-remote mgmt.16.09.03.ova」という OVA ファイルを使用して「csr_mgmt」という REST API 仮想サービス コンテナをアップグレードするために使用される CLI コマンドを示しています。
Router# virtual-service upgrade name csr_mgmt package bootflash:/iosxe-remote-mgmt.16.09.03.ova
注:このコマンドは、デバイスから正常に非アクティブ化されたことを示すメッセージを受信した後でのみ実行してください。
次の例は、「csr_mgmt」という名前の仮想サービス コンテナに関して仮想サービス コンフィギュレーション モードを開始するために使用される CLI コマンドを示しています。
router(config)# virtual-service csr_mgmt
router(config-virt-serv)# activate
Cisco IOS および IOS XE ソフトウェア
お客様が Cisco IOS ソフトウェアおよび IOS XE ソフトウェアの脆弱性による侵害の可能性を判断するため、シスコは Cisco IOS Software Checker ツールを提供しています。このツールを使用すると、特定のソフトウェア リリースに該当するシスコ セキュリティ アドバイザリ、および各アドバイザリで説明されている脆弱性が修正された最初のリリース(「First Fixed」)を特定できます。また該当する場合、そのリリースに関するすべてのアドバイザリの脆弱性が修正された最初のリリース(「Combined First Fixed」)を特定できます。
このツールを使用して次のタスクを実行できます。
- ドロップダウン リストからリリース(複数可)を選択するか、分析対象となるローカル システムからファイルをアップロードして、検索を開始する
- show version コマンドの出力をツールで解析する
- カスタマイズした検索(過去に公開されたすべてのシスコ セキュリティ アドバイザリを検索対象に入れたり、特定のアドバイザリのみ、または最新のバンドル資料のすべてのアドバイザリを含めるなど)を作成する
リリースが、公開されたシスコセキュリティアドバイザリのいずれかに該当するかどうかを確認するには、Cisco.comのCisco IOS Software Checkerを使用するか、以下のフィールドにCisco IOSまたはIOS XEソフトウェアリリース(たとえば、15.1(4)M2、3.13.8Sなど)を入力します。
デフォルトでは、Cisco IOS ソフトウェアのチェックには、結果は、高セキュリティへの影響の評価 (サー) または重大な脆弱性にのみが含まれています。「中間」の SIR 脆弱性の結果を含めるには、Cisco.com の Cisco IOS ソフトウェア チェッカーを使用して、[Impact Rating] ドロップダウン リストの [中間(Medium)] チェックボックスをオンにします。
Cisco IOS XE ソフトウェア リリースと Cisco IOS ソフトウェア リリースのマッピングについては、Cisco IOS XE ソフトウェアのリリースに応じて「Cisco IOS XE 2 Release Notes」、「Cisco IOS XE 3S Release Notes」、または「Cisco IOS XE 3SG Release Notes」を参照してください。
不正利用事例と公式発表
Cisco Product Security Incident Response Team(PSIRT)は、アドバイザリで説明されている脆弱性に対して概念実証段階のエクスプロイトコードが一般入手可能であることを認識しています。
このアドバイザリで説明されている脆弱性の悪用に関する情報は Cisco PSIRT に寄せられていません。
出典
本脆弱性は、シスコ内部でのセキュリティ テストによって発見されました。
URL
改訂履歴
バージョン | 説明 | セクション | ステータス | 日付 |
---|---|---|---|---|
1.1 | この脆弱性の不正利用のデモを実施するための概念実証コードが公開されています。 | 不正利用事例と公式発表 | Final | 2019 年 10 月 18 日 |
1.0 | 初回公開リリース | — | Final | 2019 年 8 月 28 日 |
利用規約
本アドバイザリは無保証のものとしてご提供しており、いかなる種類の保証も示唆するものではありません。 本アドバイザリの情報およびリンクの使用に関する責任の一切はそれらの使用者にあるものとします。 また、シスコは本ドキュメントの内容を予告なしに変更したり、更新したりする権利を有します。
本アドバイザリの記述内容に関して情報配信の URL を省略し、単独の転載や意訳を施した場合、当社が管理した情報とは見なされません。そうした情報は、事実誤認を引き起こしたり、重要な情報が欠落していたりする可能性があります。 このドキュメントの情報は、シスコ製品のエンドユーザを対象としています。