Plataforma
python
Componente
mlflow
Corrigido em
2.12.1
Uma vulnerabilidade de Path Traversal foi descoberta no MLflow, afetando versões até 2.9.2. Atacantes podem explorar essa falha para acessar arquivos sensíveis no servidor, comprometendo a confidencialidade dos dados. A vulnerabilidade reside na falta de validação adequada de parâmetros de entrada em requisições HTTP POST. A correção foi disponibilizada na versão 2.12.1.
A exploração bem-sucedida desta vulnerabilidade permite que um atacante contorne as restrições de acesso ao sistema de arquivos do servidor MLflow. Ao manipular os parâmetros 'artifact_location' e 'source' em requisições HTTP POST, utilizando URIs locais com o caractere '#', o atacante pode navegar pela estrutura de diretórios do servidor e ler arquivos que normalmente não seriam acessíveis. Isso pode levar à exposição de informações confidenciais, como chaves de API, dados de treinamento de modelos de machine learning, ou até mesmo código-fonte do aplicativo. A severidade da vulnerabilidade é alta devido ao potencial de acesso não autorizado a dados críticos e à relativa facilidade de exploração.
Esta vulnerabilidade foi publicada em 2024-04-16. Não há informações disponíveis sobre exploração ativa ou inclusão no KEV (CISA Known Exploited Vulnerabilities) no momento da publicação. A existência de um Proof of Concept (PoC) público pode aumentar o risco de exploração.
Organizations utilizing MLflow for machine learning model tracking and management, particularly those running versions 2.9.2 or earlier, are at risk. Shared hosting environments where multiple users share the same MLflow instance are especially vulnerable, as an attacker could potentially exploit the vulnerability to access data belonging to other users.
• python / mlflow:
import requests
url = 'http://your-mlflow-server/tracking/api/v2/artifacts'
headers = {'Content-Type': 'application/json'}
payload = {
'artifact_location': '../sensitive_file.txt#',
'source': 'local'
}
response = requests.post(url, headers=headers, json=payload)
print(response.status_code, response.text)• linux / server: journalctl filters for HTTP POST requests to /tracking/api/v2/artifacts with unusual parameters.
• generic web: Check access/error logs for HTTP POST requests to /tracking/api/v2/artifacts containing artifact_location or source parameters with '../' sequences.
disclosure
Status do Exploit
EPSS
77.15% (percentil 99%)
CISA SSVC
Vetor CVSS
A mitigação primária para esta vulnerabilidade é a atualização para a versão 2.12.1 do MLflow, que inclui a correção. Se a atualização imediata não for possível, implemente validações robustas de entrada nos manipuladores do servidor para garantir que os parâmetros 'artifact_location' e 'source' contenham apenas caminhos válidos e seguros. Considere a utilização de um Web Application Firewall (WAF) para bloquear requisições maliciosas que tentem explorar a vulnerabilidade. Monitore os logs do servidor em busca de padrões suspeitos de acesso a arquivos, como tentativas de acesso a diretórios fora do escopo esperado.
Actualice la biblioteca mlflow a una versión posterior a la 2.9.2. Esto solucionará la vulnerabilidad de path traversal. Puede actualizar usando `pip install mlflow --upgrade`.
Análise de vulnerabilidades e alertas críticos diretamente no seu e-mail.
CVE-2024-1483 is a path traversal vulnerability in MLflow versions up to 2.9.2, allowing attackers to access arbitrary files on the server through crafted HTTP requests.
You are affected if you are running MLflow version 2.9.2 or earlier. Upgrade to 2.12.1 or later to resolve the vulnerability.
Upgrade MLflow to version 2.12.1 or later. As a temporary workaround, restrict network access and implement WAF rules to filter malicious requests.
While no widespread exploitation has been confirmed, the vulnerability's ease of exploitation suggests a potential for active exploitation. Monitor your systems for suspicious activity.
Refer to the MLflow security advisory for detailed information and updates: [https://mlflow.org/docs/security](https://mlflow.org/docs/security)
Envie seu arquivo de dependências e descubra na hora se esta e outras CVEs te atingem.
Envie seu arquivo requirements.txt e descubra na hora se você está afetado.