Plattform
python
Komponente
mlflow
Behoben in
2.9.3
CVE-2024-1593 describes a path traversal vulnerability discovered in the MLflow project. This flaw allows attackers to manipulate URL parameters, specifically the 'params' portion, by injecting path traversal sequences (using the ';' character). Successful exploitation could lead to unauthorized information disclosure or even server compromise, impacting deployments using vulnerable MLflow versions 2.9.2 and earlier.
The core of this vulnerability lies in MLflow's improper handling of URL parameters. Attackers can leverage the semicolon (';') character within URLs to inject path traversal sequences. This allows them to bypass intended access controls and potentially read sensitive files, execute arbitrary code (depending on file contents), or even gain control of the underlying server. The impact is amplified if MLflow is deployed in environments with sensitive data or integrated with other critical systems, as a successful attack could lead to broader data breaches and system compromise. This attack pattern shares similarities with other URL parameter manipulation vulnerabilities, highlighting the importance of robust input validation.
CVE-2024-1593 was publicly disclosed on April 16, 2024. While no active exploitation campaigns have been publicly confirmed, the availability of a proof-of-concept could increase the risk of exploitation. The vulnerability is not currently listed on the CISA KEV catalog. The relatively straightforward nature of the attack makes it likely that attackers will attempt to exploit this vulnerability.
Organizations deploying MLflow for machine learning model tracking and management are at risk, particularly those using older versions (≤2.9.2). Shared hosting environments where MLflow is deployed alongside other applications are also at increased risk, as a successful exploit could potentially compromise the entire host.
• python / mlflow:
import re
def check_mlflow_params(url):
match = re.search(r'params=(.*?)(&|$)', url)
if match:
params = match.group(1)
if ';' in params:
print(f"Potential path traversal detected in params: {params}")• generic web:
curl -I 'http://your-mlflow-server/some/endpoint?params=;../sensitive/file'Inspect the response headers and body for any unexpected file disclosures.
disclosure
Exploit-Status
EPSS
0.31% (54% Perzentil)
CISA SSVC
CVSS-Vektor
The primary mitigation for CVE-2024-1593 is to upgrade MLflow to a version that includes the fix. Consult the MLflow release notes for the specific patched version. If upgrading immediately is not feasible, consider implementing temporary workarounds such as strict URL input validation and sanitization to prevent the injection of malicious path traversal sequences. Web application firewalls (WAFs) configured to block suspicious URL patterns can also provide an additional layer of defense. Thoroughly review MLflow's configuration to ensure that file access permissions are appropriately restricted.
Actualice la biblioteca mlflow a la última versión disponible. Esto solucionará la vulnerabilidad de path traversal. Consulte las notas de la versión para obtener más detalles sobre la actualización.
Schwachstellenanalysen und kritische Warnungen direkt in deinen Posteingang.
CVE-2024-1593 is a path traversal vulnerability in MLflow versions 2.9.2 and earlier, allowing attackers to manipulate URL parameters to access unauthorized files.
You are affected if you are using MLflow version 2.9.2 or earlier. Check your MLflow version and upgrade as soon as a patch is available.
Upgrade to a patched version of MLflow. Until a patch is released, implement strict input validation on URL parameters and consider using a WAF.
There are currently no confirmed reports of active exploitation, but the vulnerability's ease of exploitation suggests it could become a target.
Monitor the MLflow GitHub repository and official MLflow documentation for updates and security advisories related to CVE-2024-1593.
Lade deine Abhängigkeitsdatei hoch und erfahre sofort, ob dich diese und andere CVEs treffen.
Lade deine requirements.txt-Datei hoch und wir sagen dir sofort, ob du betroffen bist.