
Outil de preuve de concept (PoC) et de validation pour CVE-2026-82329 dans JFrog Artifactory. Forge un JWT avec une clé de signature vide pour obtenir un jeton administrateur, vérifie l'accès et prend en charge l'analyse multi-cibles avec des threads.
PoC et outil de validation pour identifier les installations JFrog Artifactory auto-hébergées affectées par CVE-2026-82329.
Cet outil valide la chaîne d'authentification suivante :
Ce projet est destiné aux tests de sécurité légitimes, à la validation de correctifs et à la réponse aux incidents. Ne l'exécutez pas contre des systèmes que vous ne possédez pas ou pour lesquels vous n'avez pas d'autorisation écrite de tester.
Cette CVE s'applique aux installations Artifactory auto-hébergées non corrigées. Artifactory Cloud a été corrigé.
Les versions enregistrées ont été corrigées :
Les versions de correctif peuvent varier selon la ligne de version. Utilisez l'avis officiel de JFrog comme source de vérité pour déterminer le statut du correctif dans votre environnement.
-token affiche le jeton administrateur dans le terminal. Traitez cette sortie comme des informations d'identification secrètes.-create-admin est destructive car elle crée un compte administrateur persistant. Utilisez-la uniquement sur des environnements de test ou lorsque les procédures de réponse aux incidents l'exigent.Aucune dépendance Go externe. Le programme utilise la bibliothèque standard de Go.
Clonez ou copiez ce projet sur la machine de test, puis compilez avec :
go build -o cve-2026-82329 CVE-2026-82329.go
Pour vérifier et exécuter le format standard de Go :
gofmt -w CVE-2026-82329.go
go vet ./...

./cve-2026-82329 -u https://artifactory.example.com:8082
Le schéma d'URL peut être omis. S'il est omis, le programme utilise HTTP :
./cve-2026-82329 -u 192.0.2.10:8082
Le fichier cible contient une URL par ligne. Les lignes vides et les lignes commençant par # sont ignorées.
https://artifactory-a.example.com:8082
https://artifactory-b.example.com:8082
# cible de laboratoire actuellement désactivée
Exécutez l'analyse avec un nombre de workers spécifié :
./cve-2026-82329 -l urls.txt -threads 8
cat hosts.txt | ./cve-2026-82329
Les URL avec ou sans schéma peuvent être utilisées tant qu'elles ont un hôte valide.
./cve-2026-82329 -u https://artifactory.example.com:8082 -token
Utilisez cette option uniquement lorsque le jeton est réellement nécessaire pour une validation ultérieure. Ne partagez pas ce jeton.
./cve-2026-82329 \
-u https://artifactory.example.com:8082 \
-create-admin audit-user:'Utilisez-Des-Identifiants-De-Test'
Le format de la valeur est user:pass. Comme les informations d'identification peuvent être visibles dans l'historique du shell ou la liste des processus, utilisez-les uniquement dans un environnement contrôlé. Cette fonctionnalité peut dépendre de l'édition Artifactory Pro ou Enterprise.
./cve-2026-82329 -u https://artifactory.example.com:8082 -verbose
L'alias court est -v. Ce mode journalise les requêtes, les réponses, les JWT forgés et les revendications des jetons. Considérez toute la sortie comme des données sensibles.
| Option | Défaut | Description |
|---|---|---|
-u URL | vide | URL de base cible ; peut être répétée |
-l FILE | vide | Fichier contenant la liste des URL cibles |
-threads N | 8 | Nombre de workers parallèles |
-timeout N | 20 | Délai d'expiration de chaque requête en secondes |
-token | false | Affiche le jeton administrateur obtenu |
-create-admin user:pass | vide | Crée un compte administrateur persistant |
-verbose | false | Journalise les détails des requêtes, réponses et revendications |
-v | false | Alias pour -verbose |
VULN : la jonction a réussi et le point de terminaison de preuve administrateur renvoie un statut HTTP 200.SAFE : la jonction a échoué, par exemple la cible a été corrigée, n'utilise pas de clé vide, ou n'est pas un Artifactory concerné.INFO : la jonction a réussi, mais la preuve administrateur n'a pas donné de résultat concluant. Vérifiez manuellement la version et la configuration.FAIL : la cible est inaccessible ou l'URL est invalide.Le statut SAFE ne remplace pas la vérification de la version et de la configuration. Le statut INFO doit être traité comme une découverte nécessitant une vérification supplémentaire.
-threads et -timeout en fonction de la capacité de l'environnement.La licence n'est pas définie dans ce dépôt. Contactez le propriétaire du projet avant de redistribuer ou d'intégrer le code dans d'autres produits.
Ce code est fourni pour la recherche en sécurité et les tests autorisés. Les auteurs et contributeurs ne sont pas responsables de l'utilisation non autorisée, des dommages, de la perte de données ou des violations de la loi résultant de l'utilisation de cet outil.
Gagaltotal666 - GhostGTR666
Dépôt : https://github.com/gagaltotal