CVE-2023-2356: MLflow: path traversal allows unauthenticated file read

HIGH PoC AVAILABLE NUCLEI TEMPLATE CISA: ATTEND
Published April 28, 2023
CISO Take

Any internet-accessible MLflow tracking server running below 2.3.1 is fully exposed — no credentials required, single HTTP request. Patch immediately to 2.3.1+; if patching is delayed, isolate MLflow behind a VPN or internal network boundary. Audit whether your MLflow instances store cloud credentials, API keys, or model artifacts on the same filesystem.

Risk Assessment

Effective risk is HIGH to CRITICAL in practice despite the CVSS 7.5 score. The combination of no authentication, no user interaction, low complexity, and network access makes this trivially weaponizable. MLflow is often deployed with broad filesystem access on servers that also store cloud provider credentials, Hugging Face tokens, and training datasets. Organizations that expose MLflow tracking servers directly (dev shortcuts, misconfigured cloud SGs) face immediate data breach risk.

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
7.5 / 10
EPSS
90.5%
chance of exploitation in 30 days
Higher than 100% of all CVEs
Exploitation Status
Exploit Available
Exploitation: MEDIUM
Sophistication
Trivial
Exploitation Confidence
medium
CISA SSVC: Public PoC
Public PoC indexed (trickest/cve)
Nuclei detection template available
EPSS exploit prediction: 90%
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 Network
AC Low
PR None
UI None
S Unchanged
C High
I None
A None

Recommended Action

5 steps
  1. PATCH

    Upgrade MLflow to 2.3.1 or later immediately — this is the only complete fix.

  2. NETWORK ISOLATION

    If patching is delayed, restrict MLflow access to VPN/internal networks via firewall rules or security groups. Block public internet access.

  3. LEAST PRIVILEGE

    Run MLflow process with a dedicated service account with minimal filesystem permissions — no access to ~/.aws, ~/.ssh, or application secrets.

  4. DETECTION

    Search logs for requests containing '../', '%2e%2e', or URL-encoded path traversal sequences against MLflow endpoints. Alert on any request that resolves outside the MLflow artifact root.

  5. AUDIT

    Enumerate all MLflow deployments in your environment; check if any are publicly accessible via cloud provider asset inventory tools.

CISA SSVC Assessment

Decision Attend
Exploitation poc
Automatable Yes
Technical Impact total

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

Classification

Compliance Impact

This CVE is relevant to:

EU AI Act
Article 15 - Accuracy, robustness and cybersecurity
ISO 42001
A.9.3 - Protection of AI system resources
NIST AI RMF
MS-2.5 - AI Risk Monitoring — System and Component Vulnerability Management
OWASP LLM Top 10
LLM05:2025 - Improper Output Handling / Insecure Design

Frequently Asked Questions

What is CVE-2023-2356?

Any internet-accessible MLflow tracking server running below 2.3.1 is fully exposed — no credentials required, single HTTP request. Patch immediately to 2.3.1+; if patching is delayed, isolate MLflow behind a VPN or internal network boundary. Audit whether your MLflow instances store cloud credentials, API keys, or model artifacts on the same filesystem.

Is CVE-2023-2356 actively exploited?

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

How to fix CVE-2023-2356?

1. PATCH: Upgrade MLflow to 2.3.1 or later immediately — this is the only complete fix. 2. NETWORK ISOLATION: If patching is delayed, restrict MLflow access to VPN/internal networks via firewall rules or security groups. Block public internet access. 3. LEAST PRIVILEGE: Run MLflow process with a dedicated service account with minimal filesystem permissions — no access to ~/.aws, ~/.ssh, or application secrets. 4. DETECTION: Search logs for requests containing '../', '%2e%2e', or URL-encoded path traversal sequences against MLflow endpoints. Alert on any request that resolves outside the MLflow artifact root. 5. AUDIT: Enumerate all MLflow deployments in your environment; check if any are publicly accessible via cloud provider asset inventory tools.

What systems are affected by CVE-2023-2356?

This vulnerability affects the following AI/ML architecture patterns: MLOps platforms, model registries, training pipelines, experiment tracking systems, model serving.

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

CVE-2023-2356 has a CVSS v3.1 base score of 7.5 (HIGH). The EPSS exploitation probability is 90.45%.

Technical Details

NVD Description

Relative Path Traversal in GitHub repository mlflow/mlflow prior to 2.3.1.

Exploitation Scenario

An adversary scanning for exposed MLflow tracking servers (port 5000/5001, or via cloud metadata) identifies an unpatched instance. They craft a GET request to the MLflow artifact API with a relative path traversal payload (e.g., /api/2.0/mlflow/artifacts/get?path=../../.aws/credentials&run_id=<valid_run_id>). With no authentication enforced, the server returns the AWS credentials file. The attacker uses the harvested keys to access S3 buckets containing proprietary model weights, training datasets, or customer data. In a more targeted scenario, the attacker reads the MLflow database connection string or a mounted secrets file to pivot laterally into the ML infrastructure.

Weaknesses (CWE)

CVSS Vector

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

Timeline

Published
April 28, 2023
Last Modified
November 21, 2024
First Seen
April 28, 2023

Scanner Template Available

A Nuclei vulnerability scanner template exists for this CVE. You can scan your infrastructure for this vulnerability immediately.

View template on GitHub
nuclei -t http/cves/2023/CVE-2023-2356.yaml -u https://target.example.com

Related Vulnerabilities