
PoC y herramienta de validación para CVE-2026-82329 en JFrog Artifactory. Forja un JWT con clave de firma vacía para obtener un token de administrador, verifica el acceso y admite escaneo multiobjetivo con hilos.
PoC y herramienta de validación para identificar instalaciones de JFrog Artifactory self-hosted afectadas por CVE-2026-82329.
Esta herramienta valida la siguiente cadena de autenticación:
Este proyecto está destinado a pruebas de seguridad legítimas, validación de parches y respuesta a incidentes. No lo ejecutes contra sistemas que no poseas o para los cuales no tengas autorización por escrito para probar.
Este CVE afecta a instalaciones de Artifactory self-hosted sin parchear. Artifactory Cloud ya ha sido corregido.
Las versiones registradas como corregidas son:
Las versiones de corrección pueden variar según la línea de lanzamiento. Utiliza el aviso oficial de JFrog como fuente de verdad para determinar el estado del parche en tu entorno.
-token muestra el token de administrador en la terminal. Trata esa salida como credenciales secretas.-create-admin es destructiva porque crea una cuenta de administrador persistente. Úsala solo en entornos de prueba o cuando el procedimiento de respuesta a incidentes lo requiera.No hay dependencias externas de Go. El programa utiliza la biblioteca estándar de Go.
Clona o copia este proyecto a la máquina de pruebas y luego compila con:
go build -o cve-2026-82329 CVE-2026-82329.go
Para verificar y ejecutar el formato estándar de Go:
gofmt -w CVE-2026-82329.go
go vet ./...

./cve-2026-82329 -u https://artifactory.example.com:8082
El esquema de URL se puede omitir. Si se omite, el programa utiliza HTTP:
./cve-2026-82329 -u 192.0.2.10:8082
El archivo de objetivos contiene una URL por línea. Las líneas vacías y las líneas que comienzan con # se ignoran.
https://artifactory-a.example.com:8082
https://artifactory-b.example.com:8082
# objetivo de laboratorio actualmente desactivado
Ejecuta el escaneo con un número específico de workers:
./cve-2026-82329 -l urls.txt -threads 8
cat hosts.txt | ./cve-2026-82329
Se pueden usar URLs con o sin esquema siempre que tengan un host válido.
./cve-2026-82329 -u https://artifactory.example.com:8082 -token
Usa esta opción solo cuando el token sea realmente necesario para una validación adicional. No compartas ese token.
./cve-2026-82329 \
-u https://artifactory.example.com:8082 \
-create-admin audit-user:'Usa-Credenciales-de-Prueba'
El formato del valor es user:pass. Dado que las credenciales pueden verse en el historial del shell o en la lista de procesos, úsalo solo en entornos controlados. Esta función puede depender de la edición Artifactory Pro o Enterprise.
./cve-2026-82329 -u https://artifactory.example.com:8082 -verbose
El alias corto es -v. Este modo registra requests, responses, JWT forjados y claims de tokens. Considera toda la salida como datos sensibles.
| Opción | Predeterminado | Descripción |
|---|---|---|
-u URL | vacío | URL base del objetivo; se puede repetir |
-l FILE | vacío | Archivo que contiene la lista de URLs objetivo |
-threads N | 8 | Número de workers paralelos |
-timeout N | 20 | Timeout de cada request en segundos |
-token | false | Muestra el token de administrador obtenido |
-create-admin user:pass | vacío | Crea una cuenta de administrador persistente |
-verbose | false | Registra detalles de requests, responses y claims |
-v | false | Alias de -verbose |
VULN: el join fue exitoso y el endpoint de verificación de administrador devolvió el estado HTTP 200.SAFE: el join no fue exitoso, por ejemplo, el objetivo ya está parcheado, no usa una clave vacía o no es un Artifactory relevante.INFO: el join fue exitoso, pero la verificación de administrador no dio un resultado concluyente. Verifica la versión y la configuración manualmente.FAIL: no se pudo alcanzar el objetivo o la URL no es válida.El estado SAFE no sustituye la verificación de versión y configuración. El estado INFO debe tratarse como un hallazgo que requiere una revisión adicional.
-threads y -timeout según la capacidad del entorno.La licencia no está definida en este repositorio. Contacta al propietario del proyecto antes de redistribuir o integrar el código en otros productos.
Este código se proporciona para investigación de seguridad y pruebas autorizadas. Los autores y colaboradores no son responsables por el uso no autorizado, daños, pérdida de datos o violaciones legales que surjan del uso de esta herramienta.
Gagaltotal666 - GhostGTR666
Repositorio: https://github.com/gagaltotal