mlflowのartifact_locationパラメータの処理にパストラバーサル脆弱性が存在します。攻撃者は、artifact location URIにfragment component # を使用することで、サーバー上の任意のファイルを読み取ることが可能です。この脆弱性は、CVE-2023-6909と同様の攻撃手法ですが、URIの異なるコンポーネントを利用しています。影響を受けるバージョンはmlflow 2.9.2以下であり、最新バージョンへのアップデートが推奨されます。
この脆弱性を悪用されると、攻撃者はmlflowサーバー上で実行中のプロセスとして、機密情報を含む任意のファイルを読み取ることができます。例えば、設定ファイル、ログファイル、または他のアプリケーションのデータファイルなどが対象となる可能性があります。攻撃者は、この情報を利用して、システムの認証情報を盗み出したり、他のシステムへの攻撃の足がかりにしたりする可能性があります。特に、mlflowが機密データを扱う環境では、この脆弱性の影響は甚大です。攻撃者は、読み取ったファイルの内容を外部に送信したり、内部ネットワーク上で拡散させたりすることで、さらなる被害を拡大させる可能性があります。
この脆弱性は、2024年4月16日に公開されました。現時点では、KEV(Known Exploited Vulnerabilities)には登録されていません。しかし、CVE-2023-6909と同様の攻撃手法を利用しているため、近い将来に悪用される可能性は否定できません。公開されているPoCはまだ確認されていませんが、脆弱性の内容から、攻撃者が容易にPoCを作成できると考えられます。NVD(National Vulnerability Database)およびCISA(Cybersecurity and Infrastructure Security Agency)の情報を常に監視し、最新の情報を入手するようにしてください。
Organizations deploying MLflow for machine learning model tracking and management are at risk. This includes teams using MLflow in production environments, particularly those with custom configurations or integrations that might not be fully aware of the vulnerability's implications. Shared hosting environments where multiple users share the same MLflow instance are also at increased risk.
• python / mlflow: Inspect MLflow server logs for requests containing # in the artifact_location parameter.
# Example: Search for log entries containing '#'
with open('mlflow.log', 'r') as f:
for line in f:
if '#' in line:
print(line)• generic web: Monitor web server access logs for requests to MLflow endpoints with unusual or unexpected characters in the artifact_location parameter.
• generic web: Check for unexpected files appearing in the MLflow artifact storage directory.
disclosure
エクスプロイト状況
EPSS
0.21% (43% パーセンタイル)
CISA SSVC
CVSS ベクトル
この脆弱性への対応策として、まずmlflowを最新バージョンにアップデートすることが最も効果的です。アップデートが困難な場合は、artifactlocationパラメータの入力値を厳密に検証し、不正な文字(#など)が含まれていないことを確認する入力検証を実装してください。また、WAF(Web Application Firewall)を導入し、パストラバーサル攻撃を検知・防御することも有効です。mlflowのログを監視し、不審なファイルアクセスを検知するルールを定義することも重要です。アップデート後、artifactlocationパラメータを使用して実験を作成し、意図しないファイルへのアクセスが発生しないことを確認してください。
Actualice la biblioteca mlflow a la última versión disponible. Esto solucionará la vulnerabilidad de path traversal. Consulte las notas de la versión para obtener más detalles sobre la actualización.
脆弱性分析と重要アラートをメールでお届けします。
CVE-2024-1594は、mlflowのartifact_locationパラメータ処理におけるパストラバーサル脆弱性です。攻撃者は、#を用いたURI操作により、サーバー上の任意のファイルを読み取れる可能性があります。
mlflowのバージョンが2.9.2以下の場合、この脆弱性の影響を受けます。最新バージョンへのアップデートを推奨します。
mlflowを最新バージョンにアップデートすることが最も効果的な修正方法です。アップデートが困難な場合は、入力検証やWAFの導入を検討してください。
現時点では、CVE-2024-1594の悪用事例は確認されていませんが、類似の脆弱性が悪用された事例があるため、注意が必要です。
mlflowの公式アドバイザリは、GitHubリポジトリのセキュリティに関するセクションで確認できます。https://github.com/mlflow/mlflow/security
requirements.txt ファイルをアップロードすると、影響の有無を即座にお知らせします。