
PoC- und Validierungstool für CVE-2026-82329 in JFrog Artifactory. Erstellt ein JWT mit leerem Signaturschlüssel, um ein Admin-Token zu erhalten, verifiziert den Zugriff und unterstützt Multi-Target-Scans mit Threads.
PoC und Validierungswerkzeug zur Identifizierung betroffener selbst gehosteter JFrog Artifactory-Installationen von CVE-2026-82329.
Dieses Werkzeug validiert die folgende Authentifizierungskette:
Dieses Projekt ist für legitime Sicherheitstests, Patch-Validierung und Incident Response gedacht. Führen Sie es nicht gegen Systeme aus, die Sie nicht besitzen oder für die Sie keine schriftliche Genehmigung zum Testen haben.
Diese CVE betrifft selbst gehostete Artifactory-Installationen, die nicht gepatcht wurden. Artifactory Cloud wurde gepatcht.
Dokumentierte gepatchte Versionen:
Die Patch-Versionen können je nach Release-Linie variieren. Verwenden Sie das offizielle JFrog-Advisory als maßgebliche Quelle, um den Patch-Status in Ihrer Umgebung zu bestimmen.
-token zeigt Administrator-Tokens im Terminal an. Behandeln Sie diese Ausgabe als geheime Anmeldedaten.-create-admin ist destruktiv, da sie ein persistentes Administrator-Konto erstellt. Verwenden Sie sie nur in Testumgebungen oder wenn Incident-Response-Verfahren dies erfordern.Es gibt keine externen Go-Abhängigkeiten. Das Programm verwendet die Go-Standardbibliothek.
Klonen oder kopieren Sie dieses Projekt auf die Testmaschine und bauen Sie es dann mit:
go build -o cve-2026-82329 CVE-2026-82329.go
Zum Überprüfen und Ausführen der Go-Standardformatierung:
gofmt -w CVE-2026-82329.go
go vet ./...

./cve-2026-82329 -u https://artifactory.example.com:8082
Das URL-Schema kann weggelassen werden. Wenn es weggelassen wird, verwendet das Programm HTTP:
./cve-2026-82329 -u 192.0.2.10:8082
Die Zieldatei enthält eine URL pro Zeile. Leere Zeilen und Zeilen, die mit # beginnen, werden ignoriert.
https://artifactory-a.example.com:8082
https://artifactory-b.example.com:8082
# Lab-Ziel, das derzeit deaktiviert ist
Führen Sie den Scan mit einer bestimmten Anzahl von Workern aus:
./cve-2026-82329 -l urls.txt -threads 8
cat hosts.txt | ./cve-2026-82329
URLs mit oder ohne Schema können verwendet werden, solange sie einen gültigen Host haben.
./cve-2026-82329 -u https://artifactory.example.com:8082 -token
Verwenden Sie diese Option nur, wenn das Token tatsächlich für die weitere Validierung benötigt wird. Teilen Sie das Token nicht.
./cve-2026-82329 \
-u https://artifactory.example.com:8082 \
-create-admin audit-user:'Verwenden-Sie-Test-Anmeldedaten'
Das Wertformat ist user:pass. Da Anmeldedaten im Shell-Verlauf oder in Prozesslisten sichtbar sein können, verwenden Sie sie nur in kontrollierten Umgebungen. Diese Funktion kann von der Artifactory Pro- oder Enterprise-Edition abhängen.
./cve-2026-82329 -u https://artifactory.example.com:8082 -verbose
Der Kurz-Alias ist -v. Dieser Modus protokolliert Requests, Responses, gefälschte JWTs und Token-Claims. Behandeln Sie die gesamte Ausgabe als sensible Daten.
| Option | Standard | Beschreibung |
|---|---|---|
-u URL | leer | Ziel-Basis-URL; kann wiederholt werden |
-l DATEI | leer | Datei mit Liste der Ziel-URLs |
-threads N | 8 | Anzahl paralleler Worker |
-timeout N | 20 | Timeout pro Request in Sekunden |
-token | false | Zeigt das erhaltene Administrator-Token an |
-create-admin user:pass | leer | Erstellt ein persistentes Administrator-Konto |
-verbose | false | Protokolliert Details zu Requests, Responses und Claims |
-v | false | Alias für -verbose |
VULN: Der Join war erfolgreich und der Administrator-Nachweis-Endpunkt gab den HTTP-Status 200 zurück.SAFE: Der Join war nicht erfolgreich, z. B. weil das Ziel gepatcht wurde, keinen leeren Key verwendet oder kein entsprechendes Artifactory ist.INFO: Der Join war erfolgreich, aber der Administrator-Nachweis lieferte kein eindeutiges Ergebnis. Überprüfen Sie Version und Konfiguration manuell.FAIL: Das Ziel ist nicht erreichbar oder die URL ist ungültig.Der Status SAFE ist kein Ersatz für die Verifizierung von Version und Konfiguration. Der Status INFO sollte als Befund behandelt werden, der eine weitere Untersuchung erfordert.
-threads und -timeout an die Kapazität der Umgebung an.In diesem Repository ist keine Lizenz festgelegt. Kontaktieren Sie den Projektinhaber, bevor Sie den Code weiterverteilen oder in andere Produkte integrieren.
Dieser Code wird für Sicherheitsforschung und autorisierte Tests bereitgestellt. Autoren und Mitwirkende haften nicht für unbefugte Nutzung, Schäden, Datenverluste oder Rechtsverstöße, die aus der Verwendung dieses Werkzeugs entstehen.
Gagaltotal666 - GhostGTR666
Repository: https://github.com/gagaltotal