
不適切な認証 — 細工されたクエリパラメータによる権限昇格
| CVE ID | CVE-2017-7921 |
| 脆弱性クラス | CWE-287: 不適切な認証 |
| CVSS v3.0 基本値 | 10.0 (致命的) — AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H |
| CVSS v2.0 スコア | 7.5 (高) — AV:N/AC:L/Au:N/C:P/I:P/A:P |
| 開示日 | 2017 年 (ICS-CERT アドバイザリ ICSA-17-124-01) |
| ベンダー | Hikvision Digital Technology Co., Ltd. |
| ステータス | パッチ適用済み — Hikvision は修正済みファームウェアをリリース。未パッチおよび「グレーマーケット」デバイスは引き続き危険にさらされている |
| PoC / エクスプロイト作者 | Jared Brits (K3ysTr0K3R) |
| 解説執筆者 | MK-ULTRA (github.com/MK-ULTRA-project-monarch) |
CVE-2017-7921 は、Hikvision のネットワークカメラ、DVR、NVR の幅広い製品群におけるファームウェアの Web サーバーコンポーネントに影響を及ぼす、重大な不適切な認証の脆弱性です。この欠陥により、リモートの未認証攻撃者が、特定の HTTP リクエストパスに特別に細工された静的定義のクエリパラメータを追加するだけで、デバイスのログイン機構を完全に回避できます。認証チェックはセッションや認証情報のセットを検証するのではなく、このパラメータを信頼するため、それを含むリクエストはすべて特権を持つ内部プロセスから発信されたものとして扱われます。
悪用に成功すると、ライブ映像や録画映像、デバイス設定、ユーザーアカウントデータへの完全な管理アクセスが得られ、多くのファームウェアブランチでは、弱い暗号化で保管された認証情報を内部に含む完全なデバイス設定ファイルをダウンロードすることも可能になります。この脆弱性は、ユーザーの操作、事前の認証、非標準的なネットワーク上の位置を一切必要としません。そのため、Hikvision の膨大な導入台数と相まって、開示以降、ボットネットへの勧誘 (例: Reaper/IoTroop ファミリーによる活動) や監視映像フィードの収集の持続的な標的となっています。
この脆弱性は、2017 年のセキュリティパッチより前のファームウェアブランチを実行する複数の Hikvision 製品ファミリーで確認されています。代表的な影響を受けるシリーズは以下のとおりです。
Hikvision はまた、この CVE に特有の継続的な問題にも言及しています。正規の販売チャネル以外で販売された「グレーマーケット」デバイスの大部分が、改変された非 Hikvision 製ファームウェアを実行しています。標準的なファームウェアアップデートではこれらの機器を確実に修復できず、場合によってはパッチが適用されるどころかインターフェースが元の状態に戻されてしまいます。
標準的な Hikvision デバイスの認証は、Web 管理インターフェースを保護する HTTP Basic/Digest 認証に基づいています。しかし、影響を受けるファームウェアでは、内部リクエスト処理エンドポイントの一部に、内部/デバッグ用途を意図した二次的な非公開の認証パスが含まれています。このパスは認証情報の照合を行いません。リクエストに固定のハードコードされたトークンが存在するかどうかを検査し、存在する場合はそのリクエストを事前認証済みとして扱い、通常のロールベースアクセス制御 (RBAC) チェックを完全にバイパスします。
このトークンは、ファームウェア自体に埋め込まれた静的なデフォルト認証情報ペアを Base64 エンコードしたものです。これは派生したセッション値ではなく定数であるため、その機器に実際に設定されている管理者パスワードに関係なく、すべての影響を受けるデバイス間で同一です。管理者パスワードを変更しても、この脆弱性は緩和されません。
大まかに言えば、悪用は次の流れで行われます。
メモリ破壊、バッファオーバーフロー、クライアント側の操作は一切関与しません。攻撃全体は単一の細工されたステートレスな HTTP リクエストであり、それがこの攻撃を簡単にスクリプト化でき、スキャナに適したものにしている理由です。
この CVE が実世界で異常に長く影響を及ぼし続けている理由は、次の 3 つの要因によるものです。
| 指標 | 影響 |
|---|---|
| 機密性 | 完全 — ライブ/録画映像、デバイス設定、保管されている (弱い暗号化の) 認証情報が露出します。 |
| 完全性 | 完全 — 攻撃者はデバイス設定、ユーザーアカウント、ストリーム設定を変更できます。 |
tenable_ot_hikvision_CVE-2017-7921.nasl、CISA/ICS-CERT アドバイザリ ICSA-17-124-01。CVE-2017-7921 の実動する PoC は Jared Brits (K3ysTr0K3R) によって作成され、github.com/K3ysTr0K3R/CVE-2017-7921-EXPLOIT で保守されています。責任ある開示の慣行に沿って、この解説文書にはエクスプロイトのソースコード、実ターゲットからの出力、取得した認証情報や映像は含まれていません。
[ 所有しているデバイス、またはテストすることを明示的に許可されたデバイスに対する PoC スクリーンショット用に予約済み — 例: proxychains を使用せず、サードパーティのターゲットや実運用環境からのライブ映像も使用しない、隔離されたホームラボの VM/カメラ。 ]
tenable_ot_hikvision_CVE-2017-7921.nasl。共同研究用ドキュメントとして作成されました。本文書は、防御および教育目的の参考として、脆弱性の仕組み、影響、検出、修復を網羅しています。すぐに実行可能なエクスプロイトコードや、許可なく取得した対象からの証拠は含まれていません。
| 可用性 | 完全 — 攻撃者は録画の無効化、再起動、その他デバイス動作の妨害が可能です。 |
| スコープ | 変更あり (CVSS v3) — デバイスの侵害により、より広範なネットワークへのピボットや分散型ボットネットへの勧誘が可能になることがよくあります。 |