MetabaseのBIツールにCVSS 10.0の深刻なゼロデイ脆弱性、未認証での管理者権限奪取が可能に
要点
- データ分析ツール「Metabase」において、認証なしで管理者権限を奪取できる最大深刻度のゼロデイ脆弱性が悪用されたことが判明した。
- 脆弱性のCVSSスコアは最高値の10.0と評価されており、MetabaseアプリケーションデータベースへのSQLインジェクションを許す構造となっている。
- 攻撃者に悪用された場合、システム設定の改ざんや接続先データベースの認証情報窃取、データの閲覧・エクスポートが行われる危険がある。
- クラウド版はすでに対策が完了しているが、セルフホスト版の利用者には修正パッチの適用やエンドポイントの制限といった緊急対応が呼びかけられている。
- PCメーカーのFrameworkなどですでに顧客情報への不正アクセス被害が確認されている。
ビジネスインテリジェンス(BI)およびデータ可視化ソフトウェアを手がけるMetabaseは、自社ソフトウェアに最大深刻度の脆弱性が存在し、実際にゼロデイ攻撃として悪用されていたことを明らかにした。この欠陥を悪用されると、事前の認証なしで外部からインスタンスの管理者権限を完全に奪取される恐れがある。同社は影響を受けるバージョンの利用者に対し、直ちにセキュリティパッチを適用するよう警告している。
脆弱性の概要と想定される被害リスク
今回報告されたセキュリティ上の欠陥は、共通脆弱性評価システム(CVSS)の基本値において最高値となるスコア10.0と評価されている。現時点でCVE識別番号は割り当てられていない。この脆弱性は、未認証の遠隔の攻撃者がMetabaseのアプリケーションデータベースに対して任意のSQL文を注入(SQLインジェクション)できるようにしてしまうものだ。
このSQLインジェクションを足がかりに攻撃者が管理者権限を獲得した場合、以下のような深刻な被害が生じる可能性があると説明されている。
- Metabaseアプリケーションの設定変更
- Metabase内に保存されている接続先データベースの認証情報の窃取
- 接続されたデータベースを経由してアクセス可能なあらゆるデータの閲覧
- 保有データの外部エクスポート
Metabaseはセキュリティアドバイザリの中で、「バージョン1.58以降に存在する未知の脆弱性(ゼロデイ)を利用し、Metabase Cloudが攻撃を受けたことを確認した」と発表している。
影響を受けるバージョンと修正パッチ
Metabaseが提供するクラウドサービス「Metabase Cloud」のインスタンスについては、すでに修正済みの最新バージョンへのアップデートが完了している。一方で、独自サーバー等で運用するセルフホスト版を利用しているユーザーに対しては、リリースされたセキュリティパッチを即時に適用することが強く推奨されている。
影響を受けるバージョンと、それぞれに対応する修正バージョンは以下のとおりである。
- バージョン 1.58系: 1.58.0 以上 1.58.23 未満(修正版: 1.58.24)
- バージョン 1.59系: 1.59.0 以上 1.59.20 未満(修正版: 1.59.21)
- バージョン 1.60系: 1.60.0 以上 1.60.16 未満(修正版: 1.60.17)
- バージョン 1.61系: 1.61.0 以上 1.61.10 未満(修正版: 1.61.11)
- バージョン 1.62系: 1.62.0 以上 1.62.8 未満(修正版: 1.62.9)
- バージョン 1.63系: 1.63.0 以上 1.63.3 未満(修正版: 1.63.5)
修正パッチを即座に適用できない場合の一時的な緩和策として、同社はパスワードリセット用のエンドポイントである /api/session/reset_password へのアクセスをブロックするよう案内している。
侵害の痕跡と推奨される事後対応
Metabaseは悪意ある活動の具体的な手口については明かしていないものの、システムが侵害されたかどうかを判別するための侵害指標(IoC)を提示している。具体的には、ログ上に以下の通信パターンが記録されている場合、侵害を受けた可能性が高いとしている。
POST /api/session/reset_passwordへのリクエストに対し、ステータスコード400が返されている- 上記の直後に、
GET /api/user/currentへのリクエストが行われ、ステータスコード200が返されている
MetabaseのCEOを務めるSameer Al-Sakran氏は、「アプリケーションログやMetabaseサーバーのインプレスログ(Ingressログ)にこの通信パターンが見つかった場合、そのインスタンスは侵害されている可能性が高い」と指摘している。
また、エンドポイント /api/session/reset_password をインターネット上に公開していた環境については、パッチ適用後に以下の確認・対処手順を実施するよう求めている。
- 全ユーザーセッションの無効化: Metabaseアプリケーションデータベースにアクセスし、
core_sessionテーブル内の全レコードを削除する - APIキーの点検: 登録されているAPIキーを確認し、見覚えのないものを削除する
- 管理者アカウントの確認: 管理者権限を持つアカウントに不審な変更が加えられていないか検証する
- データベース認証情報の更新: Metabaseに接続されているすべてのデータベースの認証情報をローテーション(再発行)する
- DWHログの調査: データウェアハウス(DWH)のログを確認し、不正アクセスの痕跡がないかを調査する
- アクティビティ履歴の監査: Metabase内の操作履歴およびクエリ実行履歴を確認し、不正または予期しない処理が行われていないかを精査する
確認された実被害と過去の脆弱性事例
今回のゼロデイ攻撃による被害はすでに実際のサービスでも確認されている。Engadgetの報道によると、モジュール式PCを手がけるFrameworkが本件の影響を受けた企業の一つとして挙げられている。Frameworkは全顧客に向けて通知を送り、ハッキング被害の一環として顧客の氏名、ログイン時のIPアドレス、住所、電話番号、メールアドレスに不正アクセスがあったことを公表した。なお、注文情報や決済情報へのアクセスは確認されていないとしている。
Metabaseをめぐっては、ちょうど3年前にも認証不要でリモートコード実行(RCE)が可能となる深刻な脆弱性(CVE-2023-38646、CVSSスコア: 9.8)が発見され、緊急の修正対応が行われた経緯がある。データ分析基盤として広く普及しているソフトウェアであるだけに、セルフホスト環境を運用する管理者には早急なバージョン確認とパッチの適用が求められている。