
PoC da vulnerabilidade CVE-2023-1177 no MLflow (Reproduzir)
Este repositório contém o código de exploração Proof-of-Concept (PoC) e instruções para reproduzir a vulnerabilidade de Inclusão de Arquivo Local (LFI) no MLflow, identificada como CVE-2023-1177.
Informações da Vulnerabilidade:
GET /model-versions/get-artifact processa caminhos. Um atacante pode criar uma versão de modelo (model version) com o campo source modificado para um caminho local no servidor (usando file:///). Em seguida, ao chamar o endpoint get-artifact com o parâmetro path apontando para um arquivo desejado (relativo ao source modificado), o atacante pode ler o conteúdo de arquivos arbitrários no sistema de arquivos do servidor com as permissões do usuário que executa o servidor MLflow.Configuração do Ambiente:
environment.yml fornecido neste repositório para recriar exatamente o ambiente usado para testes:
conda env create -f environment.yml
attack (ou o nome definido no arquivo yml) com Python e todos os pacotes necessários (incluindo mlflow==2.1.1, requests, pandas, databricks-cli e uma versão compatível do setuptools).conda activate attack
Etapas para reproduzir a vulnerabilidade e PoC, e um desafio caso você tenha preguiça de reproduzir, pode consultar aqui: https://hackmd.io/@paultheal1en/SymHyk10kg