
PoC e strumento di validazione per CVE-2026-82329 in JFrog Artifactory. Forgia JWT con chiave di firma vuota per ottenere un token admin, verifica l'accesso e supporta la scansione multi-target con thread.
PoC e strumento di validazione per identificare installazioni JFrog Artifactory self-hosted vulnerabili a CVE-2026-82329.
Questo strumento valida la seguente catena di autenticazione:
Questo progetto è destinato a test di sicurezza legittimi, validazione delle patch e risposta agli incidenti. Non eseguirlo su sistemi che non possiedi o per i quali non hai autorizzazione scritta a testare.
Questa CVE si applica alle installazioni Artifactory self-hosted non patchate. Artifactory Cloud è stato corretto.
Le versioni registrate come corrette:
Le versioni corrette possono variare in base alla linea di rilascio. Utilizza l'advisory ufficiale JFrog come fonte di verità per determinare lo stato della patch nel tuo ambiente.
-token mostra il token amministratore sul terminale. Tratta tale output come credenziali segrete.-create-admin è distruttiva perché crea un account amministratore persistente. Utilizzala solo su ambienti di test o quando le procedure di risposta agli incidenti lo richiedono.Non ci sono dipendenze Go esterne. Il programma utilizza la libreria standard di Go.
Clona o copia questo progetto sulla macchina di test, quindi compila con:
go build -o cve-2026-82329 CVE-2026-82329.go
Per verificare ed eseguire la formattazione standard di Go:
gofmt -w CVE-2026-82329.go
go vet ./...

./cve-2026-82329 -u https://artifactory.example.com:8082
Lo schema dell'URL può essere omesso. Se omesso, il programma utilizza HTTP:
./cve-2026-82329 -u 192.0.2.10:8082
Il file dei target contiene un URL per riga. Le righe vuote e le righe che iniziano con # vengono ignorate.
https://artifactory-a.example.com:8082
https://artifactory-b.example.com:8082
# target di laboratorio attualmente disattivato
Esegui la scansione con un numero specificato di worker:
./cve-2026-82329 -l urls.txt -threads 8
cat hosts.txt | ./cve-2026-82329
Gli URL con o senza schema possono essere utilizzati purché abbiano un host valido.
./cve-2026-82329 -u https://artifactory.example.com:8082 -token
Utilizza questa opzione solo quando il token è effettivamente necessario per una validazione avanzata. Non condividere tale token.
./cve-2026-82329 \
-u https://artifactory.example.com:8082 \
-create-admin audit-user:'Usa-Credenziali-Di-Test'
Il formato del valore è user:pass. Poiché le credenziali possono essere visibili nella cronologia della shell o nell'elenco dei processi, utilizzale solo in ambienti controllati. Questa funzionalità può dipendere dall'edizione Artifactory Pro o Enterprise.
./cve-2026-82329 -u https://artifactory.example.com:8082 -verbose
L'alias breve è -v. Questa modalità registra request, response, JWT forgiato e claims del token. Considera tutto l'output come dati sensibili.
| Opzione | Predefinito | Descrizione |
|---|---|---|
-u URL | vuoto | URL base del target; può essere ripetuto |
-l FILE | vuoto | File contenente l'elenco degli URL target |
-threads N | 8 | Numero di worker paralleli |
-timeout N | 20 | Timeout di ogni request in secondi |
-token | false | Mostra il token amministratore ottenuto |
-create-admin user:pass | vuoto | Crea un account amministratore persistente |
-verbose | false | Registra i dettagli di request, response e claims |
-v | false | Alias per -verbose |
VULN: il join è riuscito e l'endpoint di verifica amministratore restituisce lo stato HTTP 200.SAFE: il join non è riuscito, ad esempio il target è stato patchato, non utilizza una chiave vuota o non è un Artifactory pertinente.INFO: il join è riuscito, ma la verifica amministratore non ha fornito un risultato definitivo. Controlla manualmente versione e configurazione.FAIL: il target non è raggiungibile o l'URL non è valido.Lo stato SAFE non sostituisce la verifica di versione e configurazione. Lo stato INFO deve essere trattato come un risultato che richiede ulteriori controlli.
-threads e -timeout in base alla capacità dell'ambiente.La licenza non è specificata in questo repository. Contatta il proprietario del progetto prima di ridistribuire o integrare il codice in altri prodotti.
Questo codice è fornito per ricerca sulla sicurezza e test autorizzati. Autori e contributori non sono responsabili per utilizzi non autorizzati, danni, perdita di dati o violazioni di legge derivanti dall'uso di questo strumento.
Gagaltotal666 - GhostGTR666
Repository: https://github.com/gagaltotal