この重大なゼロデイ脆弱性により、攻撃者はMetabaseの基盤データベースに直接SQLアクセスできる可能性があり、認証情報やAPIキーなどの機密データが流出する恐れがあります。
ビジネスインテリジェンス(BI)プラットフォームを提供するMetabaseは、ゼロデイのSQLインジェクション脆弱性を公表し、顧客の機密性の高い認証情報、トークン、APIキー、その他のデータが流出した可能性があると警告しました。
8月6日に明らかになったこのMetabaseの脆弱性はCVE-2026-72898として識別され、深刻度は最高値である10と評価されており、緊急(Critical)に分類されています。影響を受けるのはバージョン1.58以降です。
Beauceron SecurityのCEOであるDavid Shipley氏は、「CVSSで完璧な10点満点を目にすることはめったにありませんが、そうした場合は警戒すべきです」と指摘します。SQLインジェクションは「昔からある厄介な手口ですが、今回は実際に動作する概念実証(PoC)エクスプロイトコードが存在しています」とのことです。
「無防備で生の」データベースアクセス
Metabaseはオープンソースのビジネスインテリジェンスツールで、顧客はDatabricks、MongoDB、Oracle、Snowflake、Amazon、BigQueryなど、数多くの主要データベースと接続できます。ユーザーはこのプラットフォームを利用して、分析結果の閲覧、データのクエリや可視化、ダッシュボードの構築などを行います。
検索エンジンのShodanは、これまでに約2,500件のMetabaseインスタンスを検出しています。またセキュリティ企業のWizは、クラウド環境の約13%がセルフホスト型のMetabaseインスタンスを導入しており、そのうち約25%がインターネットから完全にアクセス可能な状態にあると報告しています。
Metabaseの公表内容によると、脅威アクターは同社プラットフォームに存在するゼロデイのSQLインジェクション脆弱性を悪用してアクセスを取得しました。侵入経路となったのは/api/session/reset_passwordエンドポイントです。
Metabaseは、攻撃を検知した後、直ちに悪用されたエンドポイントをブロックし、脆弱性へのパッチを適用したうえで、関連するセッションを終了させ、この事案で使用された認証情報を無効化したとしています。Metabase Cloudの顧客についてはすでにアップグレードとパッチ適用が完了していますが、セルフホスト型のMetabaseを利用している顧客は、パッチを適用していない限り依然として脆弱な状態にある可能性があります。
DataBeeのCTOであるScott Miserendino氏は、「この脆弱性により、攻撃者はMetabaseのデータベースに対して無防備で生のSQLアクセスを得ることができます」と述べています。攻撃者は接続先データベースの認証情報を窃取・改ざんしたり、新たな管理者アカウントを作成したり、アプリの設定を変更したり、権限を昇格させたり、さらには情報を「劣化・改ざん・破壊」したりすることも可能だといいます。
同氏はさらに、この脆弱性が、自社インフラの一部としてMetabaseのOEM版を利用しているプラットフォームにも影響を及ぼしうると強調しました。つまり、影響を受けるユーザーの中には、自分が購入した製品にMetabaseが組み込まれていること自体を認識しておらず、自身が影響を受けていることにすら気づいていないケースもあり得るということです。
「これは非常に深刻な脆弱性です」とMiserendino氏は警告しています。
これまでに判明している被害者
今回の侵害の影響を受けた企業は、少なくともこれまでのところ、比較的小規模な組織やスタートアップが中心のようです。該当する企業としては、最近Anacondaに買収されたKilo Code、自律型会計エージェントを開発するY Combinator出資先のTally、パソコンメーカーのFramework、ワークフロー自動化プラットフォームのn8n、そしてAIテスト・監視プラットフォームを提供するChecklyHQが挙げられます。
被害を受けた各社の報告によると、脅威アクターはユーザー名、メールアドレス、クラウドのパスワード、トレース収集に使われるOpenTelemetry(OTel)のAPIキーの暗号学的ハッシュ値、Slackのアクセストークンなど、機密性の高い情報を含む記録にアクセスしたとのことです。
いずれの企業も、影響を受けた顧客に直接連絡を取っているとしており、対応策として、影響を受けた可能性のある認証情報やAPIキーのローテーション、全ユーザーのパスワードのリセット、影響を受けたユーザーのSlackbot認証トークンの無効化、侵害された管理者アカウントの削除、社内監査ログの精査などを実施しています。
「今回の脆弱性はベンダー製品に存在していたものですが、お客様のデータを守るのは私たちの責務であり、この事案によってその一部が危険にさらされました」とCheckly社は通知の中で述べています。
同社は、分析ツールをめぐる社内プロセスの見直しを進めているほか、チェック設定やデータの保存時における無害化(サニタイゼーション)の強化、露出範囲を限定するための広範な監査を実施しているとしています。また、今後ベンダーから新たなセキュリティ通知が発出された際には、オンコール対応中のエンジニアに即座にページ通知が届くようにし、対応の迅速化を図るとのことです。
「認証情報をローテーションすれば当面の問題は解決します」と同社は指摘します。「しかし、今回これほど痛手となった根本原因は解決していません。それは、私たちの分析環境が、必要以上に機密性の高いデータを保持し、必要以上に広範なアクセス権限を持っていたことです」
影響を受けた顧客が取るべき対応
Metabaseによると、今回確認された攻撃パターンは以下の通りです。
- ステータスコード400を伴うPOST /api/session/reset_passwordへの呼び出し
- その後に続く、ステータスコード200を伴うGET /api/user/currentへの呼び出し
「アプリケーションのログやMetabaseサーバーの受信ログの中にこのパターンが見つかった場合、お使いのインスタンスが侵害されている可能性が高いです」と同社は述べています。
顧客はできるだけ早く適切なパッチにアップグレードする必要があります。例えば、Metabase 0.58.6を使用している場合は、0.58.24以降にアップグレードしてください。直ちにアップグレードできない場合は、/api/session/reset_passwordエンドポイントをブロックすることで、一時的な回避策を講じることができます。
Metabaseインスタンスの/api/session/reset_passwordエンドポイントが外部に公開されている場合、企業はすべてのアクティブなユーザーセッションを無効化し、見覚えのないAPIキーを確認・削除するとともに、不正アクセスやその他の想定外の変更がないかデータウェアハウスのログと管理者アカウントを監査し、接続されているすべてのデータベースの認証情報をローテーションし、Metabaseのアクティビティおよびクエリ履歴を確認するべきです。
サードパーティのREST インターフェースをラップして利用している場合、企業は常に自社独自のSQLインジェクション検知を実施すべきだと、DataBeeのMiserendino氏は助言しています。これは、Webアプリケーションファイアウォール(WAF)やリバースプロキシを導入することで実現できるとのことです。
「企業は、新規または最近権限が昇格された管理者アカウントの作成についても、セキュリティログやデータベースログを監視すべきです」と同氏は述べます。「あるいは、大量のデータ流出のような、その他の異常な挙動にも注意を払う必要があります」
Anacondaも、顧客に対して警戒を怠らないよう呼びかけています。「フィッシングやソーシャルエンジニアリングに警戒し、認証情報の衛生管理(定期的な監査、確認、ローテーションを含む)とスパム監視を維持してください」
翻訳元: https://www.csoonline.com/article/4208307/metabase-sqli-exploit-grants-attackers-total-access.html