Downloads · 30 days
0
AV07/mlflow-dspy-pickle-bypass-poc
mlflow-dspy-pickle-bypass-poc is a machine learning model from AV07. Use it for the machine learning task on the model card, and read the license before you ship it in a product.
Advisory: GHSA-v26q-23qw-4825 Affected: mlflow <= 3.12.0 with DSPy flavor (usedspymodelsave=True) Fix PR: mlflow23293 Severity: High — Arbitrary Code Execution at model load time
Downloads · 30 days
0
Access
Public
Updated May 15, 2026
Repo size
562 B
Likes
0
Public
Click a slice to open those files.
Other1.9 KB · 45%
From the Hugging Face model README
Advisory: GHSA-v26q-23qw-4825 Affected: mlflow <= 3.12.0 with DSPy flavor (use_dspy_model_save=True) Fix PR: mlflow#23293 Severity: High — Arbitrary Code Execution at model load time
MLflow provides MLFLOW_ALLOW_PICKLE_DESERIALIZATION=false as a security control.
The DSPy flavor loader bypasses this by calling dspy.load(..., allow_pickle=True)
without checking the guard, allowing RCE from malicious model artifacts.
pip install mlflow==3.12.0 dspy==3.2.1 cloudpickle
export MLFLOW_ALLOW_PICKLE_DESERIALIZATION=false
python3 reproduce.py
Exception (AFTER RCE): Loading .pkl files can run arbitrary code... RCE CONFIRMED: MLFLOW_DSPY_RCE_BYPASS_CONFIRMED uid=1000(user) ...
Code executes BEFORE the exception is raised.
PR #23293 hoists the guard above the branch dispatch so both load paths are protected.