Safeguard
Vulnerability Analysis•

CVE-2024-1594: High Path Traversal in MLflow via Fragments

CVE-2024-1594 is a path traversal in MLflow where a fragment in the artifact_location URI enables file reads. Upgrade past 2.9.2, restrict access.

Safeguard Security Team
3 min read

CVE-2024-1594 is a high severity (CVSS 7.5) path traversal in MLflow. A fragment marker in the artifact location URI used when creating an experiment lets an attacker read arbitrary files on the server in the context of the server process. The record names no fixed version, so upgrade past 2.9.2.

What's affected

The record places the flaw in the handling of the artifact_location parameter when an experiment is created, and says it is similar to CVE-2023-6909 but uses a different URI component. It gives no version range or fixed release.

The reference is a huntr report that I did not retrieve. Sibling MLflow records from the same day name 2.9.2, so treat that version and earlier as the range to move away from, and check the project release notes for the fix.

How to check if you're exposed

Read the version:

pip show mlflow

Then list experiments in your tracking server and look at their artifact locations. An unexpected local path or one that contains a fragment marker is worth investigating. Check who can create experiments, since the flaw is in that step.

To check a whole codebase at once, run the free in-browser dependency scan at gold.safeguard.sh/scan. You can also look up the CVE in the Gold directory, and use reachability analysis to see whether your code calls the affected path.

What to do now

  1. Inventory MLflow versions across servers, notebooks and containers.
  2. Upgrade past 2.9.2 using the release notes as a guide.
  3. Require authentication so only trusted users can create experiments.
  4. Review existing experiments for strange artifact locations.
  5. Keep secrets out of directories the server account can read.

Why it matters

The record classes this as CWE-22, path traversal. The parser treated part of the URI as a fragment and ignored it, but the file system code acted on the whole string, so the two disagreed about which path was meant.

Mismatches between two parsers are a recurring cause of traversal and request smuggling issues. The impact is file disclosure, which on ML servers can include keys and data. The record's KEV flag is false.

Quick check

Which earlier CVE is it compared to?

CVE-2023-6909, which used another URI component.

Does it need authentication?

The record does not say. Assume an exposed server is reachable.

Sources

Last reviewed: 19 October 2026.

Never miss an update

Weekly insights on software supply chain security, delivered to your inbox.

Self-healing security runs on Safeguard.

Your first fix PR is minutes away.

No sales call required, even your agent can complete the purchase over MCP.