MLflow 2.9.2以前のバージョンに、データセットテーブルフィールドに対するサニタイズ処理の不備により、XSS脆弱性が存在します。この脆弱性は、信頼できないデータセットを使用するレシピを実行する際に悪用され、Jupyter Notebookでレシピを実行するとクライアントサイドのリモートコード実行(RCE)につながる可能性があります。影響を受けるバージョンはMLflow 2.9.2以前です。2.10.0へのアップデートで修正されています。
このXSS脆弱性は、攻撃者が悪意のあるスクリプトをMLflowのレシピに注入することを可能にします。攻撃者は、信頼できないデータセットをMLflowにアップロードし、レシピ内でそのデータセットを使用することで、Jupyter Notebookのコンテキスト内で任意のJavaScriptコードを実行できます。これにより、攻撃者は機密情報を盗んだり、システムを制御したり、さらには他のシステムへの攻撃の足がかりとしてMLflowサーバーを利用したりする可能性があります。特に、MLflowを外部からのデータセットを受け入れる環境で使用している場合、この脆弱性のリスクは高まります。類似のXSS脆弱性は、他の機械学習プラットフォームでも報告されており、MLflowのセキュリティ対策の重要性を示しています。
CVE-2024-27133は、2024年2月23日に公開されました。現時点では、公開されているPoCは確認されていませんが、XSS脆弱性の性質上、PoCが公開される可能性はあります。CISAのKEVリストへの登録状況は不明です。この脆弱性は、機械学習パイプラインのセキュリティを脅かす重大なリスクであり、迅速な対応が必要です。
Organizations heavily reliant on MLflow for machine learning workflows, particularly those using Jupyter Notebooks and incorporating external or untrusted datasets into their recipes, are at significant risk. Teams using shared MLflow instances or those with less stringent data governance practices are also more vulnerable.
• python / mlflow:
import mlflow
# Check MLflow version
print(mlflow.__version__)
# Check for suspicious recipe configurations or dataset sources
# Review Jupyter Notebook logs for unusual JavaScript execution• generic web: • Check for unusual JavaScript execution in Jupyter Notebook logs. • Monitor for suspicious network activity originating from Jupyter Notebook processes.
disclosure
エクスプロイト状況
EPSS
0.20% (43% パーセンタイル)
CVSS ベクトル
この脆弱性への最も効果的な対策は、MLflowをバージョン2.10.0以降にアップデートすることです。アップデートがすぐに適用できない場合は、信頼できないデータセットのアップロードを制限するなどの対策を講じる必要があります。また、Jupyter Notebookのセキュリティ設定を見直し、信頼できないソースからのコード実行を制限することも重要です。Web Application Firewall (WAF) を使用している場合は、XSS攻撃を検知・防御するためのルールを追加することを検討してください。MLflowのログを監視し、不審なアクティビティがないか確認することも有効です。
MLflowを2.9.2より後のバージョンにアップデートしてください。`pip install --upgrade mlflow`を使用して実行できます。アップデートが正常に完了していることを確認してください。
脆弱性分析と重要アラートをメールでお届けします。
CVE-2024-27133は、MLflow 2.9.2以前のバージョンにおけるデータセットテーブルフィールドのサニタイズ処理の不備により発生するXSS脆弱性です。悪意のあるスクリプトの実行を許してしまう可能性があります。
はい、MLflow 2.9.2以前のバージョンを使用している場合、この脆弱性によりクライアントサイドRCEにつながる可能性があります。特に、信頼できないデータセットを使用するレシピを実行している場合は注意が必要です。
MLflowをバージョン2.10.0以降にアップデートすることで、この脆弱性を修正できます。アップデートがすぐに適用できない場合は、信頼できないデータセットのアップロードを制限するなどの対策を講じてください。
現時点では、積極的に悪用されているという報告はありませんが、XSS脆弱性の性質上、悪用される可能性はあります。常に最新のセキュリティ情報を確認し、適切な対策を講じることを推奨します。
MLflowの公式アドバイザリは、MLflowのGitHubリポジトリまたはMLflowのウェブサイトで確認できます。詳細については、関連するセキュリティ情報を参照してください。
requirements.txt ファイルをアップロードすると、影響の有無を即座にお知らせします。