mlflow / mlflow

Open source platform for the machine learning lifecycle
https://mlflow.org
Apache License 2.0
18.92k stars 4.26k forks source link

[BUG] #12542

Open sylvesterhuerta opened 5 months ago

sylvesterhuerta commented 5 months ago

Issues Policy acknowledgement

Where did you encounter this bug?

Databricks

Willingness to contribute

Yes. I would be willing to contribute a fix for this bug with guidance from the MLflow community.

MLflow version

Mlflow version 2.11.3

System information

Describe the problem

We are using mlflow as part of our project to keep track of our experiments and artifacts. However, there are some vulnerabilities present with the mlflow version we are using (2.11.3). Is there any upcoming plans or releases to address these vulnerabilities?

  1. CVE-2024-1560
  2. CVE-2024-1594
  3. CVE-2024-1558
  4. CVE-2024-3848
  5. CVE-2024-4263

We would love to continue using mlflow within our project. If you are not the correct contact for this area, could you please advise who to reach out.

Tracking information

REPLACE_ME

Code to reproduce issue

N/A

Stack trace

N/A

Other info / logs

N/A

What component(s) does this bug affect?

What interface(s) does this bug affect?

What language(s) does this bug affect?

What integration(s) does this bug affect?

daniellok-db commented 5 months ago

Would it be possible to upgrade your version of MLflow? We've been patching these vulnerabilities over the past few months, and they should all be outdated in the most recent version.

If you're using a databricks notebook, you can upgrade by running %pip install -U mlflow in a notebook cell.

sylvesterhuerta commented 5 months ago

Hi Daniel, Thank you for your reply. In our team, we use Snyk as part of vulnerability assessment. According to Snyk, there is no upgrade or patch available for the following vulnerabilities. Is this assessment accurate? https://security.snyk.io/vuln/SNYK-PYTHON-MLFLOW-6615820 https://security.snyk.io/vuln/SNYK-PYTHON-MLFLOW-7210300 https://security.snyk.io/vuln/SNYK-PYTHON-MLFLOW-7210309 https://security.snyk.io/vuln/SNYK-PYTHON-MLFLOW-7210311 https://security.snyk.io/vuln/SNYK-PYTHON-MLFLOW-7210331 https://security.snyk.io/vuln/SNYK-PYTHON-MLFLOW-7210332 https://security.snyk.io/vuln/SNYK-PYTHON-MLFLOW-7210333 https://security.snyk.io/vuln/SNYK-PYTHON-MLFLOW-7210334 https://security.snyk.io/vuln/SNYK-PYTHON-MLFLOW-7210335 https://security.snyk.io/vuln/SNYK-PYTHON-MLFLOW-7210336

On Tuesday, July 2, 2024, 7:43 AM, Daniel Lok @.***> wrote:

Would it be possible to upgrade your version of MLflow? We've been patching these vulnerabilities over the past few months, and they should all be outdated in the most recent version.

If you're using a databricks notebook, you can upgrade by running %pip install -U mlflow in a notebook cell.

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you authored the thread.Message ID: @.***>

daniellok-db commented 5 months ago

All the CVEs related to deserialization of untrusted data come from our use of pickle to store models, which is a common practice in other ML frameworks (e.g. PyTorch). MLflow is meant to be run in an authenticated environment, so you shouldn't have untrusted people uploading malicious files to your servers.

The path traversal vulnerability has been patched as far as i know. In fact, the path from the CVE (URL-encoded dots) is explicitly a test case in our test suite:

https://github.com/mlflow/mlflow/blob/b189477dd03f8c76c3e9176749f46fb7842f0821/tests/utils/test_uri.py#L798

github-actions[bot] commented 4 months ago

@mlflow/mlflow-team Please assign a maintainer and start triaging this issue.

MattiasDC commented 1 month ago

Hi @daniellok-db, the path traversal vulnerability is still in the vulnerability databases marked as 'not fixed'. E.g.