CVE-2023-43472: MLflow: unauth REST API leaks sensitive ML data

HIGH PoC AVAILABLE NUCLEI TEMPLATE
Published December 5, 2023
CISO Take

MLflow tracking servers ≤2.8.1 expose experiment data, model artifacts, and logged credentials to any unauthenticated remote attacker via crafted REST API calls. Data science teams routinely log cloud credentials, API keys, and dataset paths as MLflow parameters — treat this as a credential exposure risk, not just information disclosure. Patch immediately and firewall your MLflow server from untrusted networks.

Risk Assessment

Effective risk is critical despite the 7.5 CVSS score. Zero prerequisites (no auth, no privileges, no user interaction), network-reachable, and low complexity make this trivially exploitable. MLflow servers are frequently misconfigured as internet-facing or accessible from shared dev networks. The data exposed (experiment parameters, artifact URIs, model weights paths, cloud storage credentials) enables lateral movement well beyond the MLflow instance itself.

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
74.4%
chance of exploitation in 30 days
Higher than 99% of all CVEs
Exploitation Status
Exploit Available
Exploitation: MEDIUM
Sophistication
Trivial
Exploitation Confidence
medium
Public PoC indexed (trickest/cve)
Nuclei detection template available
EPSS exploit prediction: 74%
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

6 steps
  1. Patch: Upgrade MLflow to >2.8.1 immediately — this is a zero-click remote exploit.

  2. Network: Firewall MLflow tracking server ports (default 5000); it must never be internet-facing without authentication.

  3. Auth: Enable MLflow's built-in authentication (available since 2.0) if not already active.

  4. Secrets audit: Review all MLflow experiment parameters for logged credentials, tokens, or cloud keys — rotate any found.

  5. Detection: Query MLflow access logs for anomalous API calls to /api/2.0/mlflow/experiments/list, /runs/search, /artifacts/get — bulk enumeration patterns indicate active exploitation.

  6. Segmentation: MLflow tracking servers should sit in a dedicated MLOps VLAN inaccessible from general corporate or cloud-shared networks.

Classification

Compliance Impact

This CVE is relevant to:

EU AI Act
Art. 15 - Accuracy, robustness and cybersecurity
ISO 42001
A.9.3 - Data for AI systems — protection and access control
NIST AI RMF
GOVERN-6.2 - Policies and procedures are in place for AI risk management across the AI lifecycle
OWASP LLM Top 10
LLM06:2025 - Sensitive Information Disclosure

Frequently Asked Questions

What is CVE-2023-43472?

MLflow tracking servers ≤2.8.1 expose experiment data, model artifacts, and logged credentials to any unauthenticated remote attacker via crafted REST API calls. Data science teams routinely log cloud credentials, API keys, and dataset paths as MLflow parameters — treat this as a credential exposure risk, not just information disclosure. Patch immediately and firewall your MLflow server from untrusted networks.

Is CVE-2023-43472 actively exploited?

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

How to fix CVE-2023-43472?

1. Patch: Upgrade MLflow to >2.8.1 immediately — this is a zero-click remote exploit. 2. Network: Firewall MLflow tracking server ports (default 5000); it must never be internet-facing without authentication. 3. Auth: Enable MLflow's built-in authentication (available since 2.0) if not already active. 4. Secrets audit: Review all MLflow experiment parameters for logged credentials, tokens, or cloud keys — rotate any found. 5. Detection: Query MLflow access logs for anomalous API calls to /api/2.0/mlflow/experiments/list, /runs/search, /artifacts/get — bulk enumeration patterns indicate active exploitation. 6. Segmentation: MLflow tracking servers should sit in a dedicated MLOps VLAN inaccessible from general corporate or cloud-shared networks.

What systems are affected by CVE-2023-43472?

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

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

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

Technical Details

NVD Description

An issue in MLFlow versions 2.8.1 and before allows a remote attacker to obtain sensitive information via a crafted request to REST API.

Exploitation Scenario

An attacker scans for exposed MLflow instances (Shodan/Censys queries for port 5000 with MLflow UI signatures are public). Without credentials, they call GET /api/2.0/mlflow/experiments/list to enumerate all ML projects, then GET /api/2.0/mlflow/runs/search to extract run parameters across experiments. Data scientists routinely log AWS_ACCESS_KEY_ID, database connection strings, and Hugging Face tokens as MLflow parameters for reproducibility. The attacker harvests these credentials and pivots into cloud infrastructure, S3 training data buckets, or internal model registries — all without triggering auth failures since no auth was required.

CVSS Vector

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

Timeline

Published
December 5, 2023
Last Modified
November 21, 2024
First Seen
December 5, 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-43472.yaml -u https://target.example.com

Related Vulnerabilities