CVE-2025-1474

5.5 MEDIUM

📋 TL;DR

In MLflow versions 2.18, administrators can create user accounts without setting passwords, violating secure account management practices. This vulnerability could allow unauthorized access to these accounts, potentially compromising the MLflow instance. Organizations using MLflow 2.18 with admin-created user accounts are affected.

💻 Affected Systems

Products:
  • MLflow
Versions: Version 2.18 only
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects installations where administrators create user accounts via the vulnerable functionality. Self-registration and other user creation methods are not affected.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

An attacker discovers a passwordless admin-created account and gains unauthorized access, potentially compromising the entire MLflow instance, exfiltrating sensitive ML models and data, or using the platform for further attacks.

🟠

Likely Case

An internal or external actor discovers a passwordless account through enumeration or accidental discovery, gaining unauthorized access to MLflow resources and potentially sensitive ML artifacts.

🟢

If Mitigated

With proper network segmentation, monitoring, and access controls, impact is limited to the MLflow instance itself without lateral movement to other systems.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ✅ No
Complexity: LOW

Exploitation requires admin access to create vulnerable accounts, then attacker needs to discover these accounts. No authentication bypass occurs.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 2.19.0

Vendor Advisory: https://github.com/mlflow/mlflow/commit/149c9e18aa219bc47e86b432e130e467a36f4a17

Restart Required: Yes

Instructions:

1. Backup your MLflow data and configurations. 2. Upgrade MLflow to version 2.19.0 using pip: 'pip install mlflow==2.19.0'. 3. Restart all MLflow services. 4. Verify the fix by attempting to create a user without a password (should fail).

🔧 Temporary Workarounds

Enforce password policies via admin procedures

all

Implement strict administrative procedures requiring passwords for all user accounts and audit existing accounts.

Disable admin user creation functionality

all

Temporarily disable admin ability to create users until patching is complete.

🧯 If You Can't Patch

  • Audit all user accounts in MLflow and ensure every account has a strong password set
  • Implement network segmentation to isolate MLflow instances and monitor for unauthorized access attempts

🔍 How to Verify

Check if Vulnerable:

Check if running MLflow version 2.18 and review user accounts for any without passwords set.

Check Version:

python -c "import mlflow; print(mlflow.__version__)"

Verify Fix Applied:

After upgrading to 2.19.0, attempt to create a user without a password via admin interface - should fail with validation error.

📡 Detection & Monitoring

Log Indicators:

  • User login attempts without password authentication
  • Admin user creation events without password parameters
  • Failed login attempts to accounts that shouldn't exist

Network Indicators:

  • Unusual authentication patterns to MLflow instance
  • Traffic from unexpected sources to MLflow endpoints

SIEM Query:

source="mlflow" AND (event_type="user_creation" AND NOT password_set) OR (auth_failure AND user="*")

🔗 References

📤 Share & Export