
PoC of CVE-2023-1177 vulnerability in MLflow (Reproduce)
此仓库包含 Proof-of-Concept (PoC) 利用代码和复现指南,用于 MLflow 中的本地文件包含 (LFI) 漏洞,标识为 CVE-2023-1177。
漏洞信息:
GET /model-versions/get-artifact 处理路径的方式中。攻击者可以创建一个模型版本,其 source 字段被修改为服务器上的本地路径(使用 file:///)。然后,通过调用 get-artifact 端点并设置 path 参数指向所需的文件(相对于修改后的 source),攻击者可以以运行 MLflow 服务器的用户权限读取服务器文件系统上的任意文件内容。环境设置:
environment.yml 文件来精确复现用于测试的环境:
conda env create -f environment.yml
attack(或 yml 文件中定义的名称)的环境,其中包含 Python 和所有必需的包(包括 mlflow==2.1.1、requests、pandas、databricks-cli 以及兼容版本的 setuptools)。conda activate attack
复现漏洞和 PoC 的步骤,以及一个挑战(如果你懒得复现,可以参考这里): https://hackmd.io/@paultheal1en/SymHyk10kg