openstack-glance API v1 copy_from() has SSRF flaw - CVE-2017-7200
Image Service API v1 の copy_from 機能を使って、攻撃者はマスクされたネットワークのポートスキャンを実行できます。「http://localhost:22」などの URL を使ってイメージを作成することが可能です。これによりスキャンが Image Service から実行されているように見えるため、マスクされている状態で、攻撃者が内部ネットワークの詳細情報を列挙できる可能性があります。これはサーバー側でのリクエストフォージェリー (SSRF: Server-Side Request Forgery) として分類されます。
この脆弱性を (localhost 以外の) 内部で悪用するには、ある程度の内部ネットワークの知識が必要となる場合があります。
アップストリームでリリースされた OSSN (OSSN-0078) ではこの脆弱性について論じています。
背景情報
OpenStack Image Service (glance) では、ディスクイメージやサーバーイメージの検出、登録および配信サービスを提供します。このサービスでは、サーバーイメージのスナップショットが作成され、すぐに格納されるようになっています。格納したイメージをテンプレートとして使用すると、新規サーバーを迅速に起動できます。しかも、サーバーのオペレーティングシステムをインストールし、追加のサービスの個別に設定する場合よりも一貫性が高くなります。
v1 の copy_from 機能は、リモートのコンテンツを定義済みの Image Service ストアにコピーします。
対処方法
影響を受ける Red Hat 製品をデプロイしているすべてのお客様には、システムに軽減策を適用することをお勧めします。修正プログラムはリリースされていません。推奨される軽減策については、解決策 タブを参照してください。
v1 は Newton で非推奨となっており、回避策で対応できるため、修正は提供されません。
Red Hat セキュリティーレスポンスチームは、本件によるセキュリティー上の影響度を中程度の影響と評価しています。
影響を受ける製品
以下の Red Hat 製品バージョンが影響を受けます。
- Red Hat Enterprise Linux OpenStack Platform 5.0 (Icehouse) for RHEL 6
- Red Hat Enterprise Linux OpenStack Platform 5.0 (Icehouse) for RHEL 7
- Red Hat Enterprise Linux OpenStack Platform 6.0 (Juno) for RHEL 7
- Red Hat Enterprise Linux OpenStack Platform 7.0 (Kilo) for RHEL 7
- Red Hat OpenStack Platform 8.0 (Liberty)
- Red Hat OpenStack Platform 9.0 (Mitaka)
- Red Hat OpenStack Platform 10.0 (Newton)
ロギング
copy_from コールのログはすべて Image Service によって記録されます。これにより、この脆弱性を悪用するユーザーとクラウドユーザーとの関連付けを行うことができます。
脆弱性の診断
この脆弱性を悪用するには、イメージ作成が有効にされており、かつ管理者以外のユーザーが copy_from 機能を使用できる必要があります。
OpenStack デプロイメントで /etc/glance/policy.json ファイルを確認します。ファイルの設定が以下のようになっている場合、デプロイメントは本脆弱性の影響を受けます。
"add_image": "",
"copy_from": "",
全体的な軽減策
この脆弱性を攻撃者に悪用されないようにするには、copy_from 機能のポリシーを「管理者」ロールに制限する必要があります。
ファイル /etc/glance/policy.json を編集して、copy_from 行の設定が以下のようになっていることを確認します。
"copy_from": "role:admin",
警告
copy_from 機能を「管理者」ユーザーに制限すると、オーケストレーションとダッシュボードの使用に影響します。
- イメージを作成する非管理者ユーザー用のオーケストレーションスタックは破壊されます。
- 非管理者ユーザーは、イメージデータ URI を指定してダッシュボードでイメージを作成できなくなります。
部分的な軽減策
- Image Service のレート制限のある呼び出しによってプローブの速度が著しく遅くなることで、この脆弱性が悪用される可能性が低くなります。
- glance-api サーバーを実行するコントロールプレーンノードからの接続を、サービスに要求されるポートと、外部ネットワーク用のポート 80 および 443 のみに制限すると、大半のユーザーに影響を与えずに、攻撃対象となる範囲を大幅に制限できます 。
Comments