Apache Superset の脆弱性 CVE-2024-34693 が FIX:PoC エクスプロイトも提供

CVE-2024-34693: Apache Superset Arbitrary File Read Vulnerability, PoC Published

2024/07/28 SecurityOnline — Apache Software Foundation は、Apache Superset に存在する任意ファイル読み取りの脆弱性 CVE-2024-34693 に対処する、セキュリティ更新プログラムをリリースした。この脆弱性は、Apache Superset 内の MariaDB プロトコル実装における不適切な入力検証に起因し、バージョン 3.1.3 未満/4.0.0 に影響を及ぼすものだ。攻撃者は、local_infile パラメータを有効化し、MariaDB 接続を作成することで、この脆弱性の悪用を試行できる。


Web サーバ上の MariaDB サーバと、ローカル MySQL クライアントの両方が、local infile 操作を許可している場合において、攻撃者は特定の SQL コマンドを実行してサーバからファイルを読み込み、その内容を MariaDB データベースのテーブルに挿入することが可能になる。


この脆弱性 CVE-2024-34693 の、詳細な PoC エクスプロイト・コードと、潜在的な影響と悪用方法に関する洞察が、発見/報告者である Matei “Mal” Badanoiu により公開されている。

この PoC エクスプロイト・コードが示すのは、local_infile に対する保護機能を持つ mysql プロトコルから、これらの保護機能を持たない mariadb プロトコルへと、攻撃者が不正に切り替える方法である。”mariadb://172.17.0.1/xxx?local_infile=1″ のような悪意の URL を用いることで、攻撃者はセーフガードを回避し、サーバ上の任意のファイルを読み取ることが可能となる。

Bettercap の Rogue MySQL Server のようなツールを使用することで、この攻撃を自動化することも可能であり、接続が確立された後の、ファイル・コンテンツ流出のプロセスが簡単になる。

想定される影響

  1. 権限の昇格:Apache Superset アプリケーションで使用される、Flask 秘密鍵などの機密情報を流出させることで、攻撃者は権限を昇格させることを可能にする。管理者ではない攻撃者が、任意のデータベース接続を作成した場合においては、管理者パスワードが変更された後にも、管理者セッションを持続して取得できるため、特に問題となる。
  2. リモート・コード実行:PostgreSQL データベースを使用している場合に、攻撃者は流出させた認証情報を悪用してデータベースに接続し、任意のコマンドを実行することができる。それは “Expose database in SQL Lab” や “Allow DML” といったオプションを有効化することで容易になり、SQL Lab を通じてダイレクトにコマンドを実行できるようになる。


Apache Superset のユーザーに強く推奨されるのは、パッチ適用がされた バージョン 4.0.1/3.1.3 へと直ちにアップグレードし、この脆弱性の悪用を防ぐことだ。