CVE-2023-1176: MLflow: path traversal exposes arbitrary local files

LOW PoC AVAILABLE CISA: TRACK*
Published March 24, 2023
CISO Take

MLflow installations prior to 2.2.2 allow any low-privilege local user to read arbitrary files on the host via absolute path traversal. While CVSS is low (local vector), MLflow servers frequently run in shared data science environments alongside sensitive artifacts—API keys, model weights, and training data secrets are realistic targets. Patch to 2.2.2+ immediately; if patching is blocked, restrict MLflow access to trusted principals only.

Risk Assessment

CVSS 3.3 understates operational risk in typical ML environments. The local attack vector assumes shared infrastructure—common in data science teams where multiple users access the same MLflow tracking server. A compromised or malicious data scientist account could leverage this to pivot: reading SSH keys, cloud credentials, or environment files (.env) stored on the MLflow host. No network exposure required, no user interaction needed. Effective risk is MEDIUM in multi-tenant ML environments, LOW in single-user setups.

Affected Systems

Package Ecosystem Vulnerable Range Patched
mlflow pip No patch
25.8K OpenSSF 4.7 624 dependents Pushed today 24% patched ~64d to patch Full package profile →

Do you use mlflow? You're affected.

Severity & Risk

CVSS 3.1
3.3 / 10
EPSS
0.2%
chance of exploitation in 30 days
Higher than 36% of all CVEs
Exploitation Status
Exploit Available
Exploitation: MEDIUM
Sophistication
Trivial
Exploitation Confidence
medium
CISA SSVC: Public PoC
Public PoC indexed (trickest/cve)
Composite signal derived from CISA KEV, CISA SSVC, EPSS, trickest/cve, and Nuclei templates.

Attack Surface

AV AC PR UI S C I A
AV Local
AC Low
PR Low
UI None
S Unchanged
C Low
I None
A None

Recommended Action

5 steps
  1. Patch: Upgrade MLflow to 2.2.2 or later (commit 63ef72aa). This is the only complete fix.

  2. Workaround (if patching blocked): Restrict MLflow server access via OS-level permissions—run MLflow under a dedicated service account and limit which users can invoke it.

  3. Secrets hygiene: Audit the MLflow host for credentials stored in plaintext (env files, config files, ~/.aws, ~/.ssh). Rotate any found.

  4. Detection: Monitor MLflow server logs for artifact paths containing '../' sequences or absolute paths outside expected artifact root directories.

  5. Network isolation: Ensure MLflow tracking server is not internet-exposed; bind to localhost or internal network only.

CISA SSVC Assessment

Decision Track*
Exploitation poc
Automatable Yes
Technical Impact partial

Source: CISA Vulnrichment (SSVC v2.0). Decision based on the CISA Coordinator decision tree.

Classification

Compliance Impact

This CVE is relevant to:

ISO 42001
A.6.2.6 - Security of AI system assets
NIST AI RMF
GOVERN-1.7 - Processes for AI risk identification and mitigation MANAGE-2.2 - Mechanisms to sustain deployed AI system integrity
OWASP LLM Top 10
LLM06:2025 - Excessive Agency / Insecure Plugin Design

Frequently Asked Questions

What is CVE-2023-1176?

MLflow installations prior to 2.2.2 allow any low-privilege local user to read arbitrary files on the host via absolute path traversal. While CVSS is low (local vector), MLflow servers frequently run in shared data science environments alongside sensitive artifacts—API keys, model weights, and training data secrets are realistic targets. Patch to 2.2.2+ immediately; if patching is blocked, restrict MLflow access to trusted principals only.

Is CVE-2023-1176 actively exploited?

Proof-of-concept exploit code is publicly available for CVE-2023-1176, increasing the risk of exploitation.

How to fix CVE-2023-1176?

1. Patch: Upgrade MLflow to 2.2.2 or later (commit 63ef72aa). This is the only complete fix. 2. Workaround (if patching blocked): Restrict MLflow server access via OS-level permissions—run MLflow under a dedicated service account and limit which users can invoke it. 3. Secrets hygiene: Audit the MLflow host for credentials stored in plaintext (env files, config files, ~/.aws, ~/.ssh). Rotate any found. 4. Detection: Monitor MLflow server logs for artifact paths containing '../' sequences or absolute paths outside expected artifact root directories. 5. Network isolation: Ensure MLflow tracking server is not internet-exposed; bind to localhost or internal network only.

What systems are affected by CVE-2023-1176?

This vulnerability affects the following AI/ML architecture patterns: MLOps platforms, training pipelines, model registries, experiment tracking servers, shared data science infrastructure.

What is the CVSS score for CVE-2023-1176?

CVE-2023-1176 has a CVSS v3.1 base score of 3.3 (LOW). The EPSS exploitation probability is 0.16%.

Technical Details

NVD Description

Absolute Path Traversal in GitHub repository mlflow/mlflow prior to 2.2.2.

Exploitation Scenario

A data scientist with a standard user account on a shared ML training server submits an MLflow experiment referencing an artifact path of '/etc/shadow' or '/home/mlpipeline/.env'. The pre-2.2.2 server follows the absolute path without sanitization and serves the file contents. The attacker reads cloud provider credentials (AWS_SECRET_ACCESS_KEY, GCP service account JSON) stored in the pipeline environment file, then uses those credentials to exfiltrate the production model registry from S3/GCS—achieving full AI IP theft with no exploitation complexity.

Weaknesses (CWE)

CVSS Vector

CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N

Timeline

Published
March 24, 2023
Last Modified
November 21, 2024
First Seen
March 24, 2023

Related Vulnerabilities