Description
mlflow/mlflow is vulnerable to Local File Inclusion (LFI) due to improper parsing of URIs, allowing attackers to bypass checks and read arbitrary files on the system. The issue arises from the 'is_local_uri' function's failure to properly handle URIs with empty or 'file' schemes, leading to the misclassification of URIs as non-local. Attackers can exploit this by crafting malicious model versions with specially crafted 'source' parameters, enabling the reading of sensitive files within at least two directory levels from the server's root.
EPSS Score:
0%
Comprehensive Technical Analysis of EUVD-2024-1218
1. Vulnerability Assessment and Severity Evaluation
The vulnerability EUVD-2024-1218 in mlflow/mlflow is classified as a Local File Inclusion (LFI) issue. The improper parsing of URIs in the is_local_uri function allows attackers to bypass security checks and read arbitrary files on the system. This vulnerability is severe, with a CVSS Base Score of 9.3, indicating a critical risk. The CVSS vector CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:L/A:N highlights the following:
- Attack Vector (AV): Network (N) - The vulnerability can be exploited remotely.
- Attack Complexity (AC): Low (L) - The attack requires minimal skill or resources.
- Privileges Required (PR): None (N) - No special privileges are needed to exploit the vulnerability.
- User Interaction (UI): None (N) - No user interaction is required.
- Scope (S): Changed (C) - The vulnerability affects a different security scope.
- Confidentiality (C): High (H) - The vulnerability results in a significant loss of confidentiality.
- Integrity (I): Low (L) - The vulnerability results in a minor loss of integrity.
- Availability (A): None (N) - The vulnerability does not affect availability.
2. Potential Attack Vectors and Exploitation Methods
Attackers can exploit this vulnerability by crafting malicious model versions with specially crafted source parameters. The attack involves:
- URI Manipulation: Crafting URIs with empty or 'file' schemes to bypass the
is_local_urifunction's checks. - File Access: Reading arbitrary files within at least two directory levels from the server's root, potentially accessing sensitive information such as configuration files, credentials, or other critical data.
3. Affected Systems and Software Versions
The vulnerability affects:
- mlflow/mlflow: All versions prior to 2.10.0.
Users of mlflow/mlflow should ensure they are running version 2.10.0 or later to mitigate this risk.
4. Recommended Mitigation Strategies
To mitigate the risk associated with this vulnerability, the following strategies are recommended:
- Update Software: Upgrade to
mlflow/mlflowversion 2.10.0 or later, which includes a fix for this issue. - Input Validation: Implement additional input validation and sanitization for URIs to ensure they are properly parsed and classified.
- Access Controls: Restrict access to sensitive files and directories to minimize the impact of potential LFI attacks.
- Monitoring and Logging: Enhance monitoring and logging to detect and respond to suspicious activities related to URI parsing and file access.
5. Impact on European Cybersecurity Landscape
The vulnerability poses a significant risk to organizations using mlflow/mlflow, particularly those in the European Union. The potential for unauthorized access to sensitive files can lead to data breaches, compliance violations, and loss of intellectual property. Given the critical nature of the vulnerability, it is essential for organizations to prioritize patching and implementing robust security measures to protect against such threats.
6. Technical Details for Security Professionals
Vulnerability Details:
- Function Affected:
is_local_uri - Issue: The function fails to properly handle URIs with empty or 'file' schemes, leading to misclassification of URIs as non-local.
- Exploitation: Attackers can craft malicious model versions with specially crafted
sourceparameters to read arbitrary files.
References:
- NVD Entry: CVE-2024-3573
- GitHub Commit: Fix Commit
- GitHub Repository: mlflow/mlflow
- Huntr Bounty: Bounty Details
Aliases:
- CVE: CVE-2024-3573
- GHSA: GHSA-hq88-wg7q-gp4g
Assigner:
- Huntr AI: @huntr_ai
ENISA IDs:
- Product:
- ID: 350ad47d-9787-310d-9cef-5acd3ed97a5e
- Product: mlflow/mlflow
- Version: unspecified <2.10.0
- ID: 7ed96ffb-6fa0-3670-af97-36f30f1a00ea
- Product: mlflow/mlflow
- Vendor:
- ID: 3c4b60ad-495d-34fe-aa81-f7dc66c93ca2
- Vendor: mlflow
By addressing this vulnerability promptly and effectively, organizations can significantly reduce the risk of data breaches and ensure the integrity and confidentiality of their systems.